Подтвердить что ты не робот

Стили множественного наследования

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

<style name="WidgetTextBase">
    <item name="android:typeface">serif</item>
    <item name="android:textSize">12dip</item>
    <item name="android:gravity">center</item>
</style>

<style name="BOSText" parent="WidgetTextBase">
    <item name="android:textColor">#051C43</item>
</style>

Я бы хотел, чтобы BOSText также наследовал:

<style name="WidgetTextHeader">
    <item name="android:textStyle">bold</item>
<style>
4b9b3361

Ответ 1

Нет, стили не поддерживают множественное наследование (по крайней мере, не для Android 3.2).

Ответ 2

Вы можете наследовать только один стиль. Однако вы также можете унаследовать наследуемый стиль от другого стиля и т.д.:

<style name="WidgetTextBase">
    <item name="android:typeface">serif</item>
    <item name="android:textSize">12dip</item>
    <item name="android:gravity">center</item>
</style>

<style name="WidgetTextHeader" parent="WidgetTextBase">
    <item name="android:textStyle">bold</item>
</style>

<style name="BOSText" parent="WidgetTextHeader">
    <item name="android:textColor">#051C43</item>
</style>

Вы не можете наследовать более одного стиля, но вы можете настроить цепочку наследования.

Ответ 3

В теге стиля есть родительский атрибут, который должен наследовать от других стилей...

то есть.

<style name="CodeFont" parent="@style/WidgetTextBase">
   <item name="android:textStyle">bold</item>
</style>

http://developer.android.com/guide/topics/ui/themes.html