2017-01-05 3 views
1

Ich habe globalen Stil in der theme.xml-Datei definiert. Dies beinhaltet den Artikel <item name="colorControlActivated">@color/white</item>.Android - Overriding theme.xml Styling

Ich habe einen DatePicker welcher ausgewählter-Datum Hintergrund dieses Style-Item verwendet und somit weiß ist ... auf weißem Hintergrund. Das ausgewählte Datum ist daher unsichtbar.

Dies ist der Datepicker:

<DatePicker 
    android:id="@+id/DatePicker" 
    style="@style/date_picker_theme" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:calendarViewShown="false" 
    android:descendantFocusability="blocksDescendants" 
    android:endYear="2100" 
    android:startYear="1900" /> 

und ich versuchte, den colorControlActivated Stil (im styles.xml) wie die außer Kraft setzen:

<style name="date_picker_theme"> 
    <item name="colorControlActivated">@color/green</item> 
</style> 

aber das überhaupt nicht reflektiert.

Wenn ich das theme.xml style-item auf <item name="colorControlActivated">@color/green</item> ändere, dann ist das gut, aber es könnte sich in der App ändern.

Frage: Wie kann ich das nur für meinen DatePicker überschreiben?

Wie sieht es jetzt:

enter image description here

Wie sollte es aussehen:

enter image description here

Antwort

1

statt es als

style="@style/date_picker_theme" 
Einstellung

legen Sie es als

android:theme="@style/date_picker_theme" 

Volldatumsauswahl Ansicht unten

<DatePicker 
    android:id="@+id/DatePicker" 
    android:theme="@style/date_picker_theme" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:calendarViewShown="false" 
    android:descendantFocusability="blocksDescendants" 
    android:endYear="2100" 
    android:startYear="1900" />