2016-12-08 5 views
-1
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="colorWindowBackground">@color/Gray</item> 
</style> 

このようにcolorWindowBackgroundプロパティを追加したいとします。私は好きな名前を使うことはできませんか?それはAndroidスタジオが私の行動に感謝しないようです。アンドロイドスタイルのアイテム属性はどこに定義されていますか?

私は、itemNameのcolorPrimaryが既にどこかで定義されていると推測しています。その名前は既存の特定のプロパティにのみ設定できます。

コンパイラはどのようなプロパティが許可されているかをどのように知っていますか?それは何とかスタイルが継承されている親に基づいていますか?

+0

追加する場合は、カスタム名を追加します。 –

答えて

2

レイアウトのビューでカスタム属性を使用する場合は、カスタム名に "declare-stylable"を使用できます。下記呼ばサイトに従ってください:

https://guides.codepath.com/android/Defining-Custom-Views

+0

これは私が自分自身を作る方法を理解するのに役立ちましたが、colorPrimary、colorAccent、およびcolorPrimaryDarkがどこに定義されているかについてはまだ混乱しています。彼らは私のattrs.xmlにはないので、誰がこれらのプロパティを定義しましたか? –

0

はジョシュア、colorPrimary、colorAccent、およびcolorPrimaryDarkが定義されてい@jamesまたは親スタイルTheme.AppCompat.Light.DarkActionBarから継承された他の言葉で。

+0

nvmがhttps://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/attrs.xml と https://android.googlesource.com/platform/を見て、それを理解しました。 frameworks/base/+/refs/heads/master/core/res/res/values/themes.xml –

関連する問題