Ответ 1
Нет, стили не поддерживают множественное наследование (по крайней мере, не для Android 3.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="BOSText" parent="WidgetTextBase">
<item name="android:textColor">#051C43</item>
</style>
Я бы хотел, чтобы BOSText также наследовал:
<style name="WidgetTextHeader">
<item name="android:textStyle">bold</item>
<style>
Нет, стили не поддерживают множественное наследование (по крайней мере, не для Android 3.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>
Вы не можете наследовать более одного стиля, но вы можете настроить цепочку наследования.
В теге стиля есть родительский атрибут, который должен наследовать от других стилей...
то есть.
<style name="CodeFont" parent="@style/WidgetTextBase">
<item name="android:textStyle">bold</item>
</style>