一、定义一个主题样式 Theme.CustomDialog 实现个性化的对话框。
1、AndroidManifest.xml 文件中,申明 activity 的主题使用自定义对话框样式。
Java 代码
android:label="@string/activity_custom_dialog"
android:theme="@style/Theme.CustomDialog"> //好像应该是android:theme="@style/Theme.Dialog">
android:label="@string/activity_custom_dialog"
android:theme="@style/Theme.CustomDialog">
android:name="android.intent.category.SAMPLE_CODE" />
2、res/values/styles.xml 样式文件中定义一个对话框主题样式,这里继承了
android:style/Theme.Dialog 主题,并且窗口样式 android:windowBackground 引用了
@drawable/filled_box
Java 代码
@drawable/filled_box
name="android:windowBackground">@drawable/filled_box
3、res/drawable/filled_box.xml 定义了 Shape 类型的 drawable(抽象的可画区域),最终是通过这个来实现新对话框的样式。
Java 代码
android:right="10dp" android:bottom="10dp" />
xmlns:android="http://schemas.android.com/apk/res/android">
android:color="#f0600000"/>
color="#ffff8080"/>
android:bottom="10dp" />
二、个性化Dialog小图标,主要代码如下:
Java 代码
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);
}
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) 之前调用。
Java 代码
requestWindowFeature(Window.FEATURE_LEFT_ICON);
requestWindowFeature(Window.FEATURE_LEFT_ICON);
2、设置小图标
Java 代码
getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,
android.R.drawable.ic_dialog_alert);