如何在按钮的另一种样式中使用样式?

时间:2013-08-05 10:41:49

标签: android button styles

有没有人知道如何将样式“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>

日Thnx,

里斯

3 个答案:

答案 0 :(得分:3)

<强>更新 将橙色按钮父项设置为@ 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> 

答案 1 :(得分:0)

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

Buttons.xml - &gt;

<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 - &gt;

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

答案 2 :(得分:-1)

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

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