Ich kann ein Thema und ein bestimmtes Schaltflächendesign angeben:
<style name="MyTheme" parent="android:style/Theme.Black">
<item name="android:buttonStyle">@style/Button.b1</item>
</style>
<style name="Button.b1" parent="android:style/Widget.Button">
<item name="android:textColor">#000000</item>
</style>
Das Problem ist, dass dieser Stil auf alle Schaltflächen angewendet wird. Ich würde gerne eine bestimmte Schaltfläche mit einem eigenen Stil deklarieren, der jedes Thema unabhängig von den anderen Schaltflächen ändert (so etwas wie eine "Speichern"-Schaltfläche). Irgendeine Idee?
Ich habe Folgendes versucht:
<style name="Button.MyButton" parent="android:style/Widget.Button">
<item name="android:background">@drawable/shape</item>
</style>
<style name ="Button.MyButton.Theme1">
<item name="android:textColor">#000000</item>
</style>
<style name ="Button.MyButton.Theme2">
<item name="android:textColor">#FFFFFF</item>
</style>
<Button
android:id="@+id/save_button"
android:layout_width="0px"
style="@style/Button.MyButton"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="@string/save"/>
Jetzt ist die Schaltfläche unabhängig vom Thema, aber sie sollte auch das Stilattribut anwenden, das ich oben angegeben habe. Im Moment wendet sie nur die Attribute an, die im Bereich MyButton deklariert sind und nicht die in MyButton.Theme1 oder MyButton.Theme2.