Style-Klassen

  • Antworten:4
Richard R.
  • Forum-Beiträge: 90

31.08.2011, 12:56:35 via Website

Hallo,

vielleicht bin ich einfach nur zu dumm, es zu kapieren, aber gibt es in Android eine Möglichkeit, Style-Klassen zu definieren und denen dann, je nach aktivem Theme, unterschiedliche Werte zuzuweisen?

also etwas in der Art:

styles.xml
1<style name="MainTheme">
2 <item name="myCustomButtonClass">@style/ButtonBlack</item>
3</style>
4
5<style name="AlternativeTheme">
6 <item name="myCustomButtonClass">@style/ButtonWhite</item>
7</style>
8
9<style name="ButtonBlack" parent="@android:style/Widget.Button">
10 <item name="android:background">#000000</item>
11</style>
12
13<style name="ButtonWhite" parent="@android:style/Widget.Button">
14 <item name="android:background">#ffffff</item>
15</style>

layout.xml
1<Button
2 android:styleclass="myCustomButtonClass"
3/>

So, dass sich der Style des Elementes je nach aktivem Theme ändert. Oder denke ich falsch? Über Anregungen und Code Snippets würde ich mich freuen.

— geändert am 01.09.2011, 10:29:25

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

31.08.2011, 13:18:13 via Website

es muss richtig heißen:

<Button
style="@style/MyStyle"
.... />

swordiApps Blog - Website

Antworten
Richard R.
  • Forum-Beiträge: 90

31.08.2011, 13:25:51 via Website

Hi Markus,

ich weiß, dass es das Attribut android:style gibt. Meine Frage war eine andere, nämlich wie ich Style-Klassen realisiere.

— geändert am 31.08.2011, 15:36:10

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

31.08.2011, 13:45:35 via Website

so ganze weiß ich nicht was du mit style klassen meinst.


du kannst Themes erstellen. Ein Theme enthält sämtliche style informationen für alle möglichen GUI Elemente

swordiApps Blog - Website

Antworten
Richard R.
  • Forum-Beiträge: 90

31.08.2011, 14:23:52 via Website

Ja, so ganz bin ich mir da auch nicht sicher. Ich meine so etwas wie das HTML class-Attribut. Über dieses kann ich HTML-Elementen eine bestimmte Klasse zuweisen und dieser Klasse dann wiederum via CSS einen bestimmten Style. Kombiniert mit der Möglichkeit, verschiedener Themes kann ich dann sagen: in Theme 1 sollen Elemente der Klasse XY diesen Style haben, in Theme 2 sollen sie jenen Style haben.

Aktuell kann ich ja nur alle Elemente ändern, d.h. je nach Theme ist bspw. die Hintergrundfarbe ALLER TextViews schwarz oder weiß. Ich will aber unterschiedliche Klassen von TextViews definieren, denen ich dann unterschiedliche Styles zuweisen kann...

Antworten