浏览 8009 次
锁定老帖子 主题:Custom Dialog !自定义对话框
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-10-26
最后修改:2009-11-20
一、定义一个主题样式 Theme.CustomDialog 实现个性化的对话框。 1、AndroidManifest.xml 文件中,申明 activity 的主题使用自定义对话框样式。 <activity android:name=".app.CustomDialogActivity" android:label="@string/activity_custom_dialog" android:theme="@style/Theme.CustomDialog"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.SAMPLE_CODE" /> </intent-filter> </activity> 2、res/values/styles.xml 样式文件中定义一个对话框主题样式,这里继承了 android:style/Theme.Dialog 主题,并且窗口样式 android:windowBackground 引用了 @drawable/filled_box <style name="Theme.CustomDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@drawable/filled_box</item> </style> 3、res/drawable/filled_box.xml 定义了 Shape 类型的 drawable(抽象的可画区域),最终是通过这个来实现新对话框的样式。 <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#f0600000"/> <stroke android:width="3dp" color="#ffff8080"/> <corners android:radius="3dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> 二、个性化Dialog小图标,主要代码如下: @ Override protected void onCreate(Bundle savedInstanceState) { // Be sure to call the super class. super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_LEFT_ICON); // See assets/res/any/layout/dialog_activity.xml for this // view layout definition, which is being set here as // the content of our screen. setContentView(R.layout.dialog_activity); getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, android.R.drawable.ic_dialog_alert); } 1、申请设置个性化小图标,需在 setContentView(R.layout.dialog_activity) 之前调用。 requestWindowFeature(Window.FEATURE_LEFT_ICON); 2、设置小图标 getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, android.R.drawable.ic_dialog_alert); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |