【问题标题】:How can I use a style within another style for a button?如何在按钮的另一种样式中使用一种样式?
【发布时间】:2013-08-06 01:04:44
【问题描述】:

有谁知道如何将样式“MarginButton”添加到样式“bluebutton”或“OrangeButton”?我这样做的原因是为了防止重复代码,这是正确的做法还是有更好的方法来解决这个问题?

<style name="OrangeButton" parent="android:Widget.Button">
    <item name="android:textColor">#000</item>
    <item name="android:background">@drawable/roundedbutton_orange</item>
</style>

<style name="BlueButton" parent="android:Widget.Button">
    <item name="android:textColor">#FFF</item>
    <item name="android:background">@drawable/roundedbutton_blue</item>
</style>

<style name="MarginButton" parent="android:Widget.Button">
    <item name="android:layout_marginTop">10dp</item>
    <item name="android:layout_marginBottom">10dp</item>
    <item name="android:layout_marginLeft">3dp</item>
    <item name="android:layout_marginRight">3dp</item>
</style>

谢谢,

乔里斯

【问题讨论】:

  • 确保您接受对您帮助最大的答案。
  • 你能告诉我们你是如何在你的按钮上应用这些样式的吗?
  • 它的工作没有joris我刚刚尝试过检查我的更新;)。

标签: android button styles


【解决方案1】:

更新 将橙色按钮父级设置为@style/MarginButton。我刚刚尝试过,它正在工作,

<style name="orangeButton" parent="@style/MarginButton">
    <item name="android:textColor">#000</item>
    <item name="android:background">@drawable/roundedbutton_orange</item>
</style>

<style name="MarginButton" parent="@android:style/Widget.Button">
    <item name="android:layout_marginTop">10dp</item>
    <item name="android:layout_marginBottom">10dp</item>
    <item name="android:layout_marginLeft">3dp</item>
    <item name="android:layout_marginRight">3dp</item>
</style> 

【讨论】:

    【解决方案2】:

    我认为您可以通过以下方式获得它:

    Buttons.xml ->

    <style name="OrangeButton" parent="MarginButton">
        <item name="android:textColor">#000</item>
        <item name="android:background">@drawable/roundedbutton_orange</item>
    </style>
    
    <style name="BlueButton" parent="MarginButton">
        <item name="android:textColor">#FFF</item>
        <item name="android:background">@drawable/roundedbutton_blue</item>
    </style>
    

    MarginButton.xml ->

    <style name="MarginButton" parent="android:Widget.Button">
        <item name="android:layout_marginTop">10dp</item>
        <item name="android:layout_marginBottom">10dp</item>
        <item name="android:layout_marginLeft">3dp</item>
        <item name="android:layout_marginRight">3dp</item>
    </style>
    

    【讨论】:

    • 肯定会的。很高兴我提供了帮助,您也可以接受答案(甚至可以投票)。
    • 我想知道如何为按钮添加另一种样式。现在我们使用 parent 作为 marginButton.xml 的链接来添加 Margins 样式。如何向此按钮添加新的其他样式?
    • 好吧,创建一个新的CustomStyle.xml,就像我创建的那个 (MarginButton.xml) 并添加到所需的按钮,例如:&lt;style name="OrangeButton" parent="CustomStyle"&gt;,然后就可以了:)
    【解决方案3】:

    您可以更改父属性。例如:

    <style name="BlueButton" parent="MarginButton">
       <item name="android:textColor">#FFF</item>
       <item name="android:background">@drawable/roundedbutton_blue</item>
    </style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      相关资源
      最近更新 更多