• 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);来达到效果.

    版权声明:欢迎自由转载-非商用-非衍生-保持署名。作者:Benhero,博客地址:http://www.cnblogs.com/benhero/

  • 相关阅读:
    求助:C#读文本文件(编码未知)的问题
    求助:字符的显示问题
    常用的xml文件操作
    关于旧表导入新表的数据冲突问题
    通过批处理管理安装windows服务
    windows服务,批处理安装
    ajax的请求的超时处理
    消息队列的使用
    c#程序执行cmd命令
    dynamic(翻译)
  • 原文地址:https://www.cnblogs.com/benhero/p/4128917.html
Copyright © 2020-2023  润新知