web-dev-qa-db-ja.com

多重継承のスタイル

以下に限定されるのではなく、スタイルを他の複数のスタイルから継承させる方法はありますか?

<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>
41
NPike

いいえ、スタイルは多重継承をサポートしていません(少なくともAndroid 3.2の時点では)。

34
Jonas

継承できるスタイルは1つだけです。ただし、継承されたスタイルを別のスタイルから継承させることもできます。

<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>

複数のスタイルを継承することはできませんが、can継承チェーンを設定します。

5