5

Chciałbym wszystkie przyciski mojego Android używają samo tło, to wszystkie przyciski mają atrybut:Jak zdefiniować tło przycisku w jednym miejscu i używać wokół całej aplikacji?

android:background="@drawable/my_btn_bg" 

Czy istnieje jakiś sposób, aby określić to w jednym miejscu i podjąć działanie w przyciski całej aplikacji? (Zamiast określić istniejącą wiedzę na temat każdego elementu przycisku)

myślę zdefiniować wewnątrz theme.xml mogłoby być rozwiązanie, ale nie wiem, jak to zrobić? Czy ktoś może mi dać jakieś wskazówki?

Odpowiedz

11

W przypadku stylów Androida odwołujesz się do wstępnie zdefiniowanych atrybutów R.attr. Tutaj chcesz odwołać się do androida: buttonStyle. Można spróbować to:

<style name="ApplicationStyle" parent="android:Theme"> 
<item name="android:buttonStyle">@style/yourButton</item> 
</style> 

wyglądać Również w tym Themes and Styles

4

Definiowanie styles.xml z poniżej:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="buttonStyle"> 
     <item name="android:layout_width">fill_parent</item> 
     <item name="android:layout_height">wrap_content</item> 
     <item name="android:background">@drawable/bg_button</item> 
    </style> 
</resources> 

I korzystają z tego samego stylu dla każdego przycisku w aplikacji jak:

<Button 
    android:text="Test Button" 
    android:id="@+id/btnTest" 
    style="@style/buttonStyle"> 
</Button>