Android自定義對話框

現在要來實現一個自定義的Dialog,主要涉及到樣式文件style。參考案例,自己寫代碼來實現。首先創建一個Android Project——CustomDialog,然後res/drawable文件夾下創建一個xml文件filled_box.xml,其內容爲:

<?xml version=”1.0″ encoding=”utf-8″?>

<shape xmlns:android=”http://schemas.android.com/apk/res/android”>

<solid android:color=”#ffff0000″/>

<stroke android:width=”3dp” color=”#00ffff80″/>

<corners android:radius=”2dp” />

<padding android:left=”10dp” android:top=”10dp”

android:right=”10dp” android:bottom=”10dp” />

</shape>

這個文件主要是畫了一個圓角矩形(shape的android:shape屬性的默認值爲rectangle,故這裏沒有設置爲矩形,默認是矩形。),設置了其填充顏色爲#ffff0000,就是solid這項了;圓角大小是2dp,就是corners這項了;padding項主要控制各邊得對齊信息,stroke項主要是邊框效果。欲瞭解shape的詳細信息,請參與文檔裏Dev Guide–>Framework Topics–>Application Resources–>Resource Types–>Drawable頁面的相關內容。

下一步就是在res/values目錄下創建styles.xml樣式文件,內容如下:

<?xml version=”1.0″ encoding=”utf-8″?>

<resources>

<style name=”Theme.CustomDialog” parent=”android:style/Theme.Dialog”>

<item name=”android:windowBackground”>@drawable/filled_box</item>

</style>

</resources>

Theme.CustomDialog是自己定義的主題名字,parent屬性指定主題的父級主題爲android:style/Theme.Dialog,這個主題在“Dialog提示窗口”的案例中已經使用過,然後通過name爲android:windowBackground的item指定了窗口背景爲之前通過filled_box定義的shape。

現在有了主題樣式定義,只需要爲Activity添加使用的主題項就可以了,跟前一個案例“Dialog提示窗口”的處理方式一樣,打開AndroidManifest.xml文件,在Activity定義處加上屬性android:theme=”@style/Theme.CustomDialog”,指定主題爲自定義的主題。現在就可以運行一下項目,看看自定義的效果。

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