2013-08-05 3 views
2

Есть ли у кого-нибудь идеи, как добавить стиль «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,

Джорис

+0

Убедитесь, что вы принимаете ответ, который помог вам ост. –

+0

Можете ли вы показать нам, как вы применяете эти стили, но на своей кнопке? –

+0

Не работает joris, я только что попробовал проверить мое обновление;). –

ответ

2

Update Установите оранжевую кнопку родителю @ стиль/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> 
+0

Я пробовал это, но я не работаю! –

+0

ok дайте мне посмотреть, я запустил приложение с этими стилями, но скажите, что одна вещь пытается применить этот стиль на кнопке? –

-1

Вы можете изменить его родительский атрибут. Например:

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

Я думаю, что вы можете получить его, выполнив:

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

Thnx, это работает! –

+0

Конечно. Я рад, что помог, вы тоже можете принять ответ (возможно, даже возвысить его). – g00dy

+0

Мне интересно, как добавить еще один стиль к кнопкам. Теперь мы используем parent как ссылку на marginButton.xml для добавления стиля полей. Как добавить к этой кнопке новый стиль? –