2015-01-22 17 views
6

Dzięki temu motyw aplikacji rozciąga się od motywu Material Light AppCompat z Dark Action Bar.Stylizacja spinnera, appcompat, materiał

Zastosowałem kolor akcentujący.

Teraz próbuję użyć Spinnera na ciemnym tle, a ze względu na motyw, pokrętło ma ciemnoszarą strzałkę, która po naciśnięciu zmienia kolor na akcent.

Jak ustawić białą strzałkę tego pokrętła tak, aby była widoczna na ciemnym tle?

Oto obraz Spinner: enter image description here

+0

Czy umieścisz zrzut ekranu? Jeśli ciemny obszar jest tworzony w Javie, możesz zajrzeć do "ContextThemeWrapper". –

+0

@EugenPechanec Dołączyłem obraz pokrętła. – Mir

+0

Chciałbym, aby strzałka w prawo miała kolor biały, zachowując kolor akcentu, który zastosowałem. – Mir

Odpowiedz

3

Tak więc biblioteka wsparcia 22.1 umożliwia korzystanie z atrybutu android: theme na widokach. To powinno pomóc tutaj.

0

z Androidem: tło można określić własny zasób tła. Uważam, że strzała jest raczej bezużyteczna (kliknięcie pokrętła powoduje rozwinięcie menu bez strzały), więc jeśli nie chcesz narysować niestandardowej strzałki, po prostu pozostaw tło czarne lub przezroczyste.

3

Jeśli chcesz zastosować tę samą aplikację stylu spinner szerokości, następnie w swojej values/styles.xml, zastępują spinnerStyle ze swoim stylem niestandardowej, która wywodzi się od typu AppCompat i zastąpić android:background:

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <item name="android:spinnerStyle">@style/AppSpinner</item> 
</style> 

<style name="AppSpinner" parent="Widget.AppCompat.Spinner"> 
    <item name="android:background">@drawable/your_spinner_background</item> 
</style> 

Jeśli potrzebujesz szybki sposób Aby wygenerować tło tarczy, spróbuj android-holo-colors, wybierz Kolorowe pokrętło i podaj swój akcentowy kolor.

+0

Twoja odpowiedź pomaga, jeśli pracuję z pre Lollipop i po prostu muszę użyć selektora do rysowania i zamienić go w moim motywie, jak wyjaśniłeś, ale z nowym akcentem appcompat i lollipop, akcentowanie powinno być inne. – Mir