2

4.x デバイスでは、これがスピナーであり、クリックする必要があることを示すドローアブルはほとんど見えません。それは spinner_ab_default_holo_light.9.png を使用しています。spinner_ab_default_holo_dark.9.png、またはその他の選択したドローアブルを使用するにはどうすればよいですか?

スピナー インジケーターが表示されない

スピナーはダイアログにあります。このアプリは、Android 2.2.3 の上位互換性のために ActionbarSherlock 4.3.1 を使用します。このアプリはAndroid Action Bar Style Generatorを実装して、Sherlock.Light.DarkActionBar テーマを作成します。スタイルを管理するために Values と Values-v14 を使用しています。このダイアログは、特定のスタイルを添付します。

new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), R.style.FibroDialog))

Values-v14 では、ダイアログの背景を確実に暗くするための親テーマがあります。

<style name="FibroDialog" parent="@android:style/Theme.Holo.Dialog">

</style>

私が試したこと:

Android Action Bar Style Generator で生成されたテーマに追加しました

<item name="android:spinnerItemStyle">@style/MySpinnerItemStyle</item>

そして追加

<style name="MySpinnerItemStyle" parent="android:TextAppearance.Holo.Widget.TextView.SpinnerItem">
    <item name="android:textColor">#FFF</item>
    <item name="android:background">@drawable/spinner_background_ab_fibromapp</item>
</style>

その結果、私が実際に望むドローアブルがスピナーではなくアイテムの背景になりました。

ここに画像の説明を入力

スピナーのxmlで、試しました

android:dropDownSelector="@drawable/spinner_ab_default_fibromapp"

上記と同じ結果が得られ、

android:popupBackground="@drawable/spinner_ab_default_fibromapp"

これにより、各スピナー アイテムの背景がドローアブルに置き換えられます。

最後の手段として、独自の spinner_ab_default_holo_dark および spinner_ab_default_holo_light 9 パッチを作成しました。そして、彼らはまったく現れませんでした。

そのスピナー ドローアブルにアクセスして、必要なグラフィックに変更するにはどうすればよいですか?

4

1 に答える 1

1

私はこれが初めてですが、同様の答えを探すのに何時間も費やしました。唯一の解決策は、システムのスピナー スタイルの正確なコピーであるスタイルを作成し、変更するものを編集することです。めんどくさいし、つまらないし、あまり実用的ではないけど、やらなきゃいけないならやらなきゃ…。

于 2013-12-23T04:20:12.897 に答える