Я пытаюсь сделать свое приложение для Android более стильным и добился определенного прогресса, но выпадающее меню с прядильщиками дает мне проблемы. У меня есть скриншот, чтобы показать вам проблему:
Я хочу, чтобы белый ящик в фоновом режиме был прозрачным, как в том же сером наложении поверх заднего экрана, что и остальная часть экрана вне раскрывающегося списка.
Android 4.0, API 15, если я правильно помню.
Как здесь задано, как я это делаю до сих пор. Это фрагменты, которые, я думаю, актуальны, но я мог что-то пропустить.
Здесь xml для spinner:
<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" />
В моих значениях /style.xml. Если изменить цвет фона здесь, фон в диалоговом окне изменится, но и все остальные фоны. Я не знаю, как изменить фокус в раскрывающемся диалоговом окне.
<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>
Я попытался добавить это в тему приложения, но ни один из них не имел никакого значения, фон был все еще белым.
<...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>
В drawable/pink_white_dropdown, просто показывая одно и то же изображение для всех случаев. pink_white_arrow - это 9-кратное изображение, которое я сделал. Существует множество руководств, здесь, которые я нашел по 30 секунд в 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>
Где-то в этих файлах я полагаю, что что-то должно быть прозрачным, но я не знаю, где.