首页 > 代码库 > Android-Dialog风格Activity开发

Android-Dialog风格Activity开发

1.设置窗口风格 : 

    ①在Manifest中设置主题属性android:theme="@android:style/Theme.Dialog",或者 Theme.Holo.Dialog.

    ②在Activity的onCreate方法中设置,必须在setContentView之前调用setTheme(android.R.style.Theme_Holo_Dialog)

 

使用Theme.Holo.Dialog为Android 4.X风格,效果较佳;而Theme.Dialog风格是2.X风格,较为落伍.

 

2.设置布局属性:

在调整界面的过程中,会发现Dialog风格的Activity和AlertDialog界面效果相差较大,这主要是因为AlertDialog使用了特性的属性.

例如:    

Button风格 : style="?android:attr/buttonBarButtonStyle"

Button外层Layout风格 : style="?android:attr/buttonBarStyle"

水平分割线 : android:background="?android:attr/dividerHorizontal"

内容字体字号 : android:textAppearance="?android:attr/textAppearanceMedium"

 

以下是样例:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:gravity="center_horizontal"    android:orientation="vertical" >    <TextView                android:id="@+id/live_wallpaper_dialog_content"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginBottom="5dp"        android:layout_marginTop="5dp"        android:gravity="center_vertical|center_horizontal"        android:text="This is Content"        android:textAppearance="?android:attr/textAppearanceMedium" />    <View                android:layout_width="match_parent"        android:layout_height="1dp"        android:background="?android:attr/dividerHorizontal" />    <LinearLayout                style="?android:attr/buttonBarStyle"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:measureWithLargestChild="true" >        <Button                        android:id="@+id/live_wallpaper_dialog_cancel"            style="?android:attr/buttonBarButtonStyle"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="cancel" />        <Button                        android:id="@+id/live_wallpaper_dialog_download"            style="?android:attr/buttonBarButtonStyle"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="download" />    </LinearLayout></LinearLayout>

 

 

 

3.如何设置点击空白处不退出Activity : 

AlertDialog?是设置setCanceledOnTouchOutside(false)来实现的.

而Activity是通过设置setFinishOnTouchOutside(false);来达到效果.

 

Android-Dialog风格Activity开发