【出航計画005】2015出航計画Android APIDemoの悪魔の歩み04 App->Activity->Custom Dialog Dialog形式のActivity,Themeの使用,Shapeの使用

2303 ワード

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またはアプリケーション全体に適用することができる.Themeを使用するメリットの1つは、アプリケーション全体に統一されたインタフェーススタイル(統一された背景色、フォントなど)を定義できることです.
定義Themeは定義Styleと同様に/res/valuesサブディレクトリで定義する必要があります.ルート要素の名前はresourcesです.ThemeとStyleの違いは、ActivityとApplicationに適用され、Styleが単一のViewに適用される点です.その定義方法は一致している.
Style定義はInheritanceをサポートします.つまり、新しいスタイルを定義するときに、システム定義のスタイルまたは前に定義したスタイルに基づいて定義できます.
それは...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>