20

R.styleable、R.style、R.attrの違いは何ですか?私はこれら3つのクラスすべてでTextAppearanceを見つけました。

4

2 に答える 2

23

R.styleAndroid が提供するすべてのスタイル (提供されるすべてのテーマ Android を含む) があります。例: Theme.Translucent, Widget.AbsListView.

R.attr提供されているすべての属性 android があります (ビューまたはウィンドウに設定できます)。たとえば、layout_widthview にwindowIsFloating設定したり、window に設定したりできます。

R.styleableAndroid が提供する特定のビューまたはウィンドウのすべての属性を持ち、スタイルで定義できます。例FrameLayout_Layout_layout_gravity: layout_gravity は FrameLayout のスタイルを設定できます。Window_windowIsFloating: これがフローティング ウィンドウかどうかを示すフラグ。

あなたの質問に答えるために、TextAppearance は属性 (R.attr) であり、スタイル可能と宣言されている attrs.xml です。

<attr name="textAppearance" format="reference" />
<declare-styleable name="TextViewAppearance">
     <!-- Base text color, typeface, size, and style. -->
     <attr name="textAppearance" />
</declare-styleable>

TextAppearance もテーマ/スタイルです (テーマは単なるスタイルです)、styles.xml:

<style name="TextAppearance">
    <item name="android:textColor">?textColorPrimary</item>
    <item name="android:textColorHighlight">?textColorHighlight</item>
    <item name="android:textColorHint">?textColorHint</item>
    <item name="android:textColorLink">?textColorLink</item>
    <item name="android:textSize">16sp</item>
    <item name="android:textStyle">normal</item>
</style>

「?」の意味がわからない場合に備えて。意味: チェック: Androidの XML 属性 の疑問符 (?)

于 2014-04-05T19:24:28.290 に答える
0

R.style は、テーマの定義に使用されます (レイアウトで再利用される要素のデフォルトまたは特定のスタイル セットを構成します)。

R.styleable には個々の属性が含まれています。R.attr は、カスタム ビューの属性を定義するために使用されます。CardView という独自のカスタム ビューを作成し、2 つの文字列を取り込んで、それらの文字列のサイズに基づいてレイアウトを構築するとします。これらは、R.attr を介して XML レイアウトに割り当てられる属性として設定できます (詳細情報 / より良い説明はこちら)。

于 2013-01-02T22:52:28.520 に答える