Android アプリをもう少しスタイリッシュにしようとしていますが、ある程度の進歩はありましたが、スピナーのドロップダウンが問題を引き起こしています。問題を示すスクリーンショットがあります。
私が望むのは、ドロップダウンの外側の画面の残りの部分と同じ灰色のオーバーレイのように、背景の白いボックスを透明にすることです。
私の記憶が正しければ、Android 4.0、API 15。
要求されたように、これまでのところ私がそれを行う方法は次のとおりです。これらは関連性があると思われるスニペットですが、何かを見落としている可能性があります。
スピナーのxmlは次のとおりです。
<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" />
私のvalues/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 は私が作った 9patch 画像です。ガイドはたくさんありますが、Google で 30 秒以内に見つけたガイドを次に示します。
<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>
これらのファイルのどこかで、何かを透明にする必要があると思いますが、どこかわかりません。