2012-04-04 4 views
1

Ich habe ein Zeichen für einige Elemente wie Schaltflächen, Kontrollkästchen, Fortschrittsbalken und ich würde diese Zeichenabbilder für die Standard-Stil aller Schaltflächen meiner App definieren.Benutzerdefinierte Ansichten in der Anwendung (Android)

Ist das möglich, ohne den Stil in jeder Ansicht individuell zu deklarieren?

Wenn die Antwort ist, ein Thema für die App zu verwenden, würde ich ein Beispiel schätzen (den Stil aller Knöpfe zum Beispiel ändern), weil ich nicht verstehe, wie man es definiert.

Vielen Dank im Voraus

Antwort

2

Die Antwort ist ein Thema zu verwenden, wie Sie erwartet haben. Eine gute Dokumentation kann auf Android-Entwickler-Seite: http://developer.android.com/guide/topics/ui/themes.html

Für die Taste, die Sie wie folgt tun: Definieren Sie ein neues Thema:

<style name="MyTheme" parent="@android:style/Theme.Holo"> 
    <item name="android:buttonStyle">@style/button</item> 
</style> 

Wo die Schaltfläche Stil ist wie folgt definiert:

<style name="button" parent="@android:style/Widget.Button"> 
    <item name="android:background">@drawable/button_background_selector</item> 
    <item name="android:textColor">@drawable/button_text_selector</item> 
</style> 

Das button_background_selector wie folgt definiert:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/button_pressed" android:state_pressed="true"></item> 
    <item android:drawable="@drawable/button_disabled" android:state_enabled="false"></item> 
    <item android:drawable="@drawable/button_default"></item> 

</selector> 

All diese Zeichen können Ihre Bilder sein - button_pressed kann ein Png in den ziehbaren Ordnern sein. Sie müssen auch so das Thema für Ihre Anwendung im Manifest gelten:

<application 
    android:theme="@style/MyTheme" > 
</application> 

this helps :)