0

如何在下面的示例中避免重复的样式项?

我有textSize 30sp风格 - TextStyle

<style name="TextStyle">
     <item name="android:textSize">30sp</item>
</style>

textSize 30sp我在以下样式中使用的相同。有没有什么方法可以应用textsize- 无需重复书写样式?

<style name="bottomText">
    <item name="android:textSize">30sp</item>
    <item name="android:layout_width">fill_parent</item>
    <item name="android:layout_height">150dp</item>
</style>
4

4 回答 4

1
<style name="TextStyle">
    <item name="android:textSize">30sp</item>
</style>

<style name="bottomText" parent="@style/TextStyle">
  <item name="android:layout_width">fill_parent</item>
  <item name="android:layout_height">150dp</item>
</style>

<style name="boldText" parent="@style/bottomText">
  <item name="android:textStyle">bold</item>
</style>

另一种方法:

<style name="bottomText.BoldText">
  <item name="android:textStyle">bold</item>
</style>

在最后两种情况下,boldText 继承自 bottomText,它定义android:layout_widthandroid:layout_height

于 2013-05-13T13:44:28.993 回答
1

只需让一个 Style 从另一个继承:

 <style name="bottomText" parent="TextStyle">
      <item name="android:layout_width">fill_parent</item>
      <item name="android:layout_height">150dp</item>
  </style>

样式“bottomText”然后具有在“TextStyle”中定义的所有属性,但仍然可以在bottomText中被覆盖。

于 2013-05-13T13:35:13.283 回答
0

从我所见,您不需要第二种样式,因为您需要在 xml中设置 alayout_width和。layout_height您可以在创建时设置该高度和宽度,layout然后使用style="@styles/TextStyle". 如果有原因你不能这样做,请更好地解释问题

于 2013-05-13T13:26:30.020 回答
0
<style name="TextStyle">
        <item name="android:textSize">30sp</item>
   </style>

<style name="bottomText" parent="@style/TextStyle">
      <item name="android:layout_width">fill_parent</item>
      <item name="android:layout_height">150dp</item>
  </style>

让 bootomText 的样式继承 TextStyle

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

于 2013-05-13T13:24:26.057 回答