1

Android アプリ画面の背景を設定する 2 つの方法を見てきました。

ケース A:: android:background="?attr/actionBarItemBackground"

ケース B:: android:background="@drawable/ic_launcher_settings"

ケースAでandroid:backgroundはどのように機能しますか? コードを検索しましたが、「actionBarItemBackground」が存在する場所を特定できませんでした。ケースBを理解した

4

1 に答える 1

2

ケース A はスタイル属性への参照です。実際の値を知らなくても、特定のスタイル情報を参照できます。Android UI のスタイル設定に使用される Android 定義の属性が多数ありますが、独自の属性を定義することもできます。

actionBarItemBackgroundはそのような属性の 1 つです。この属性を使用するには、次の 2 つの方法があります。

  1. これを参照して、UI 要素のルック アンド フィールをアクション バーの項目と一致させることができます。

    <com.mycompany.MyView
        android:id="@+id/myView"
        android:background="?attr/actionBarItemBackground"/>
    
  2. テーマを定義し、この属性の値を設定して、アプリのデフォルトの L&F をオーバーライドできます。

    <style name="MyTheme" parent="@android:style/Theme">
        <item name="android:actionBarItemBackground">#383c44</item>
    </style>
    

Android ドキュメントへのポインタを次に示します。

スタイルとテーマについては、http:
//developer.android.com/guide/topics/ui/themes.htmlを参照してください。

すべての属性のリストについては、http:
//developer.android.com/reference/android/R.attr.htmlを参照してください。

独自の属性を定義するためのドキュメントはありません。スタイル属性がどのように宣言されているかを確認するattrs.xmlには、SDK 内のファイルの 1 つ(例: の下) を参照してください。フォルダーにファイルをplatforms\android-17\data\res\values配置することで、同じ方法で属性を宣言できます。その後、これらの属性を独自のスタイルとテーマで使用できます。attrs.xmlres\values

于 2013-01-17T22:12:56.683 に答える