Więc mam spinner, do którego próbuję zastosować styl. Mam motyw aktywności
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
I spinner
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/entries"
Chcę, aby tekst elementów typu "spinner" wyglądał jak biały i aby był zgodny z stylem xml. Jeśli ustawię android:textColor
w AppTheme wszystko działa dobrze.
Jednak dotyczy to również innych elementów.
Próbowałem następujące attribues w AppTheme. Żadne z nich nie działało.
<item name="android:spinnerDropDownItemStyle">@style/SpinnerItem</item>
<item name="android:dropDownItemStyle">@style/SpinnerItem</item>
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<style name="SpinnerItem">
<item name="android:textColor">@android:color/white</item>
</style>
Każda pomoc jest doceniana.
Odpowiedzi:
1 dla odpowiedzi № 1Możesz zmienić swój AppTheme w ten sposób:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:spinnerStyle">@style/AppTheme.Spinner</item>
<item name="android:spinnerDropDownItemStyle">@style/AppTheme.DropDownSpinner</item>
</style>
<style name="AppTheme.Spinner" parent="Widget.AppCompat.Spinner">
<item name="android:textColor">@color/white</item>
</style>
<style name="AppTheme.DropDownSpinner" parent="Widget.AppCompat.DropDownItem.Spinner">
<item name="android:textColor">@color/white</item>
</style>