Stylowa błystka androida
Staram się, aby moja aplikacja na Androida była nieco bardziej stylowa i poczyniła pewne postępy, ale rozwijane pokrętło sprawia mi kłopoty. Mam zrzut ekranu pokazujący problem:
Chcę, aby białe pole w tle było przezroczyste, jak w tej samej szarej nakładce na tylnym ekranie, co reszta ekranu na zewnątrz listy rozwijanej.
Android 4.0, API 15, jeśli dobrze pamiętam.
Zgodnie z wnioskiem, jak to zrobić do tej pory. Są to fragmenty, które moim zdaniem są istotne, ale mogłem coś przeoczyć.
Oto xml dla spinnera:
<Spinner
android:id="@+id/edit_countrySpinner"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/edit_countryArray"
android:gravity="center"
android:prompt="@string/country_prompt" />
W moich wartościach / style.xml. Jeśli zmienię kolor tła tutaj, tło w oknie dialogowym zmieni się, ale wszystkie pozostałe tła również się zmienią. Nie wiem, jak zmienić tło w oknie rozwijanym.
<style name="appcin" parent="@android:style/Theme.NoTitleBar.Fullscreen">
<item name="android:spinnerStyle">@style/spinnerStyle</item>
<item name="android:spinnerItemStyle">@style/SpinnerItem</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item> -->
<item name="android:background">#FFFFFF</item>
</style>
<style name="spinnerStyle">
<item name="android:background">@drawable/pink_white_dropdown</item>
<item name="android:clickable">true</item>
</style>
<style name="SpinnerItem">
<item name="android:textColor">#993399</item>
<item name="android:background">@drawable/pink_white_dropdown</item>
<item name="android:maxHeight">10dip</item>
</style>
<style name="SpinnerDropDownItem">
<item name="android:textColor">#993399</item>
<item name="android:background">#FFFFFF</item>
</style>
Próbowałem dodać to do motywu aplikacji, ale żadna z nich nie miała znaczenia, tło było nadal białe.
<...theme....>
<item name="android:dropDownListViewStyle">@style/DropDownStyle</item>
<item name="android:dropDownSpinnerStyle">@style/DropDownStyle</item>
<item name="android:dropDownSelector">@style/DropDownStyle</item>
</... theme ...>
<style name="DropDownStyle">
<item name="android:background">#FFF000</item>
<item name="android:popupBackground">#FFF000</item>
<item name="android:cacheColorHint">#FFF000</item>
</style>
W drawable / pink_white_dropdown, po prostu pokazano ten sam obraz dla wszystkich przypadków. pink_white_arrow to 9-częściowy obraz, który zrobiłem. Jest wiele przewodnikówOto jeden, który znalazłem o 30 sekund w google.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:state_enabled="true"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_window_focused="false" android:state_enabled="false"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_pressed="true"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_pressed="false"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_enabled="true"
android:drawable="@drawable/pink_white_arrow"/>
<item android:state_focused="true"
android:drawable="@drawable/pink_white_arrow"/>
<item
android:drawable="@drawable/pink_white_arrow"/>
</selector>
Gdzieś w tych plikach stwierdzam, że coś powinno być przezroczyste, ale nie wiem gdzie.