創建圓角Dialog風格的Activity

轉載請註明出處:http://blog.csdn.net/feibendexiaoma/article/details/71728143

前言
在開發中有時我們需要用到dialog,可是系統提供的dialog有時不能滿足我們的要求,比如顯示位置等,不夠靈活,我們這時可以創建activity,使其風格和dialog一樣。
實現
1.創建樣式
在res/values/styles.xml中

<style name="DialogActivityStyle" parent="Theme.AppCompat.Light.Dialog">
        <!--設置dialog的背景-->
        <item name="android:windowBackground">@android:color/transparent</item>
        <!--設置Dialog的windowFrame框爲無-->
        <item name="android:windowFrame">@null</item>
        <!--設置無標題-->
        <item name="android:windowNoTitle">true</item>
        <!--是否浮現在activity之上-->
        <item name="android:windowIsFloating">true</item>
        <!--是否半透明-->
        <item name="android:windowIsTranslucent">true</item>
        <!--設置窗口內容不覆蓋-->
        <item name="android:windowContentOverlay">@null</item>
        <!--設置動畫-->
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <!--背景是否模糊顯示-->
        <item name="android:backgroundDimEnabled">true</item>
    </style>

然後將主題設置給相應的activity
在AndroidManifest中

 <activity android:name=".DialogActivity"
            android:theme="@style/DialogActivityStyle"/>

2.設置圓角
在res/drawable文件夾下新建dialog_background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <solid android:color="@android:color/white" />

    <corners android:radius="10dp" />

    <padding
        android:bottom="10dp"
        android:left="10dp"
        android:right="10dp"
        android:top="10dp" />

</shape>

將此背景設置給所需要的圓角Activity最外層佈局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:background="@drawable/dialog_background">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="我亦只有一個一生 不能慷慨贈與我不愛的人" />

</LinearLayout>

效果
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章