对话框样式的Activity

               

一、定义一个主题样式 Theme.CustomDialog 实现个性化的对话框。
1、AndroidManifest.xml 文件中,申明 activity 的主题使用自定义对话框样式。

Java 代码
  1. ".app.CustomDialogActivity"  
  2.                 android:label="@string/activity_custom_dialog"  
  3.                 android:theme="@style/Theme.CustomDialog">  //好像应该是android:theme="@style/Theme.Dialog">
  4.               
  5.                 "android.intent.action.MAIN" />  
  6.                 "android.intent.category.SAMPLE_CODE" />  
  7.               
  8.           
".app.CustomDialogActivity"                 android:label="@string/activity_custom_dialog"                 android:theme="@style/Theme.CustomDialog">                              "android.intent.action.MAIN" />                 "android.intent.category.SAMPLE_CODE" />                      



2、res/values/styles.xml 样式文件中定义一个对话框主题样式,这里继承了 android:style/Theme.Dialog 主题,并且窗口样式 android:windowBackground 引用了 @drawable/filled_box

Java 代码
  1. "Theme.CustomDialog" parent="android:style/Theme.Dialog">  
  2.     "android:windowBackground">@drawable/filled_box  
  3.   



3、res/drawable/filled_box.xml 定义了 Shape 类型的 drawable(抽象的可画区域),最终是通过这个来实现新对话框的样式。

Java 代码
  1. "http://schemas.android.com/apk/res/android">  
  2.     "#f0600000"/>  
  3.     "3dp" color="#ffff8080"/>  
  4.     "3dp" />  
  5.     "10dp" android:top="10dp"  
  6.         android:right="10dp" android:bottom="10dp" />  
  7.   
"http://schemas.android.com/apk/res/android">     "#f0600000"/>     "3dp" color="#ffff8080"/>     "3dp" />     "10dp" android:top="10dp"         android:right="10dp" android:bottom="10dp" /> 



二、个性化Dialog小图标,主要代码如下:

Java 代码
  1. Override  
  2.     protected void onCreate(Bundle savedInstanceState) {  
  3.         // Be sure to call the super class.  
  4.         super.onCreate(savedInstanceState);  
  5.           
  6.         requestWindowFeature(Window.FEATURE_LEFT_ICON);  
  7.           
  8.         // See assets/res/any/layout/dialog_activity.xml for this  
  9.         // view layout definition, which is being set here as  
  10.         // the content of our screen.  
  11.         setContentView(R.layout.dialog_activity);  
  12.           
  13.         getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,   
  14.                 android.R.drawable.ic_dialog_alert);  
  15.     }  
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 代码
  1. requestWindowFeature(Window.FEATURE_LEFT_ICON);  
requestWindowFeature(Window.FEATURE_LEFT_ICON);



2、设置小图标

Java 代码
  1. getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,   
  2.                 android.R.drawable.ic_dialog_alert); 
           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

你可能感兴趣的:(对话框样式的Activity)