2016-12-08 2 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-студия не ценит мое поведение.где указаны атрибуты элемента стиля андроида?

Я догадываюсь, что цвет уже начался с названия элемента. и это имя может быть установлено только на определенные уже существующие свойства.

Как компилятор знает, какие свойства разрешены? Является ли это каким-то образом основанным на родительском стиле, наследуемом от?

+0

Если вы хотите добавить, добавьте свое имя. –

ответ

2

Для использования пользовательских атрибутов в представлениях макетов вы можете использовать «декларируемый стиль» для пользовательских имен. Пожалуйста, следуйте ниже упомянутого сайта:

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

+0

Это помогло мне понять, как я могу создать свой собственный, но я все еще смущен относительно того, где определены цветаPrimary, colorAccent и colorPrimaryDark. Они не в моем attrs.xml, так кто определил эти свойства и где? –

0

@james Джошуа, colorPrimary, colorAccent и colorPrimaryDark определены или другими словами, унаследованные от родительского стиля 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/ каркасы/основание/+/ссылки/головки/ведущий/ядро ​​/ RES/RES/значения/themes.xml –

Смежные вопросы