• 【起航计划 005】2015 起航计划 Android APIDemo的魔鬼步伐 04 App->Activity->Custom Dialog Dialog形式的Activity,Theme的使用,Shape的使用


    App->Activity->Custom Dialog 例子使用Activity 来实现自定义对话框

    类CustomDialogActivity本身无任何特别之处。关键的一点是其在AndroidManifest.xml中的定义:

            <activity android:name=".app.CustomDialogActivity"
                    android:label="@string/activity_custom_dialog"
                    android:theme="@style/Theme.CustomDialog">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.SAMPLE_CODE" />
                </intent-filter>
            </activity>

     CustomDialogActivity使用了自定义的CustomDialog 风格(Theme)。

     Android应用可以使用自定义的界面风格(Theme),Theme 为一组相关的Style定义,可以应用于某个Activity或是整个Application。使用Theme的一个好处是可以为整个应用定义统一的界面风格(统一的背景色,字体等)。

    定义Theme 和定义Style一样, 必须定义在/res/values子目录下,根元素名为resources, Theme 和Style的区别在于Theme应用于Activity和Application而 Style应用于单个的View。 其定义方法是一致的。

    Style 定义支持 Inheritance, 也就是在定义新风格时可以基于系统定义的风格或是之前定义的风格:

      如Theme.CustomDialog 定义就是基于Android的Dialog风格(parent)而只修改的WindowsBackground属性,使用了褐色背景。

        <!-- A theme for a custom dialog appearance.  Here we use an ugly
             custom frame. -->
        <style name="Theme.CustomDialog" parent="android:style/Theme.Dialog">
            <item name="android:windowBackground">@drawable/filled_box</item>
        </style>
    背景使用了shape,filled_box.xml如下:
    <shape xmlns:android="http://schemas.android.com/apk/res/android">
        <solid android:color="#f0600000"/>
        <stroke android:width="3dp" android:color="#ffff8080"/>
        <corners android:radius="3dp" />
        <padding android:left="10dp" android:top="10dp"
            android:right="10dp" android:bottom="10dp" />
    </shape>

  • 相关阅读:
    asp.net log4net
    SQLServer客户端连接工具(支持2000,20005,2008)
    html中的table导出Excel
    贝叶斯网(2)Netica:从数据中学习CPT
    贝叶斯网(1)尝试用Netica搭建简单的贝叶斯网并使用贝叶斯公式解释各个bar的结果
    IIPP迷你项目(四)"Pong"
    Coursera课程《Machine Learning》学习笔记(week2)
    IIPP迷你项目(二)"Guess the Number!"
    Coursera课程《Machine Learning》学习笔记(week1)
    IIPP迷你项目(三)“Stopwatch: The Game”
  • 原文地址:https://www.cnblogs.com/dongdong230/p/4308037.html
Copyright © 2020-2023  润新知