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>

 

Android-Dialog风格Activity开发

 

 

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

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

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

 

你可能感兴趣的:(Activity)