私は今AppCompatテーマを使用してUIをデザインしています。このUIをスタイリングするとき、私はスタイル属性についていくつかの混乱を見つけました。Androidのテーマとスタイルの属性の違い "android:xxxx"対 "xxxx"
項目名の一部は、android:xxxxで始まらない場合、コンパイルが失敗し、項目名が見つかりません。
しかし、他の場合は、android:xxxxで始まる場合、スタイルは適用されません。例えば
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@android:color/white</item>
<item name="android:colorBackground">@android:color/white</item>
<item name="alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
<item name="autoCompleteTextViewStyle">@style/cursorColor</item>
<item name="editTextStyle">@style/textCursorColor</item>
</style>
<style name="MyToolbarPopupStyle" parent="ThemeOverlay.AppCompat.Light">
<item name="android:colorBackground">@android:color/white</item>
<item name="android:textColor">@android:color/black</item>
<item name="searchViewStyle">@style/MySearchViewStyle</item>
</style>
<style name="textCursorColor" parent="Widget.AppCompat.EditText">
<item name="android:textCursorDrawable">@drawable/text_cursor</item>
</style>
:
appThemeにおいて:使用する場合アンドロイド:editTextStyle、次いでtextCursorColorが適用されないであろう。だから私は "アンドロイド:"を削除する必要があります
textColorを使用する場合は、コンパイルエラーが発生しますが、attrと一致するリソースが見つかりません。この場合、「android:」を追加する必要があります。
使用するルールはありますか?または、私は "android:"を追加するか試してみる必要がありますか?
で定義されたカスタム属性を説明いただきありがとうございます。 –