在4.x设备中,指示这是一个微调器且应该被点击的drawable几乎看不到;它使用的是spinner_ab_default_holo_light.9.png。如何使用spinner_ab_default_holo_dark.9.png或我选择的任何其他绘图?
微调器处于对话框中。该应用程序使用ActionbarSherlock 4.3.1 for Android 2.2.3向上兼容性。该应用程序实现Android Action Bar Style Generator以创建Sherlock.Light.DarkActionBar主题。我使用值和值-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>
导致了drawable我实际上想成为项目的背景,而不是微调器。
在微调器的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-patches;他们根本没有露面。
如何我访问该微调器可绘制并将其更改为我想要的任何图形?
答案 0 :(得分:1)
虽然我是新手,但我也花了太多时间寻找类似的答案。似乎唯一的解决方案是创建一个样式,它是系统微调器样式的精确副本,并编辑要更改的样式。它很麻烦,很无聊而且不太实用,但如果必须这样做,就必须完成......由于时间限制,我最终改变了我的布局,以至于标准微调器看起来不会太糟糕。