2015-11-15 1 views
0

Я создал следующий стиль:Могу ли я определить стиль, который включает в себя стиль в Android?

<style name="wrap_content"> 
    <item name="android:layout_width">wrap_content</item> 
    <item name="android:layout_height">wrap_content</item> 
</style> 

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

<style name="cycle_radio_button" parent="wrap_content"> 
    <item name="android:layout_marginStart">1dp</item> 
    <item name="android:layout_marginEnd">1dp</item> 
</style> 

Но есть способ сделать вместо этого что-то вроде следующего:

<style name="cycle_radio_button"> 
    <item name="android:layout_marginStart">1dp</item> 
    <item name="android:layout_marginEnd">1dp</item> 
    <item name="style">@style/wrap_content</item> 
</style> 

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

ответ

2

Вы не можете наследовать от нескольких стилей xml в Android. Самое близкое к этому - наследовать стиль для определенного типа представления. Например:

<style name="style1" parent="Theme.AppCompat.Light"> 
    <item name="android:listViewStyle">@style/wrap_content</item> 
    <item name="android:mapViewStyle">@style/AppTheme</item> 
</style> 

Теперь любые представления списка или просмотр карты, наследуемые от «style1» наследуют стиль в «wrap_content».

Атрибуты, подобные name="android:listViewStyle", применимы только к определенным типам просмотра, поэтому это не будет делать именно то, что вы хотите.

+0

Спасибо за ответ, Benstrom. – stevehs17

+0

Рад это слышать! Если это ответит на ваш вопрос, не стесняйтесь отмечать его как правильный ответ. – Benstrom

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