Android 6.0+;上的微调器背景不正确;
我在Eclipse上使用Android项目(旧项目) 我从这里安装ADT:Android 6.0+;上的微调器背景不正确;,android,android-spinner,Android,Android Spinner,我在Eclipse上使用Android项目(旧项目) 我从这里安装ADT: https://dl-ssl.google.com/android/eclipse/ 在my manifest.xml中 <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15" /> xml布局的片段: <Spinner android:id="@+id/currencySpinne
https://dl-ssl.google.com/android/eclipse/
在my manifest.xml中
<uses-sdk
android:minSdkVersion="15"
android:targetSdkVersion="15" />
xml布局的片段:
<Spinner
android:id="@+id/currencySpinner"
style="@style/racommon_spinner_custom_style"
android:layout_width="0dip"
android:layout_height="40dip"
android:layout_weight="0.3"
android:prompt="@string/currency" />
这里是styles.xml
<style name="racommon_spinner_custom_style" parent="@android:style/Widget.Holo.Light.Spinner">
<item name="android:background">@drawable/racommon_spinner_custom_bg</item>
<item name="android:clickable">true</item>
</style>
@可拉拔/racommon\u微调器\u定制\u背景
真的
此处可绘制racommon\u spinner\u custom\u bg:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/spinner_selected_custom_border"/>
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/spinner_pressed_custom"/>
<item android:drawable="@drawable/spinner_default_custom" />
</selector>
此处res\drawable mdpi\spinner\u pressed\u custom.9.png
以下是Android 4.3上的结果
这是Android 6.0上的结果+
单击微调器时,请单击此处:
正如您所看到的,spinner的背景与Android 4.0不同。在安卓4.0上。是正确的微调器背景。但在安卓6.0+中并不正确
这里是九路发生器的结果
为什么?我认为这是dpi的问题,因此我建议您根据dpi制作9个补丁图像
转到下面的链接
然后将当前的9补丁图像拖到这里,它将根据dpi生成图像。因为您没有通过编程方式设置渐变背景,问题只是使用了不推荐的主题:
Widget.Holo.Light.Spinner的样式
只需将其替换为最新的主题,如Widget.AppCompat.Light.Spinner
此外,您还可以尝试更新targetSdkVersion
,并使用更新的SDK版本(如果您可以选择的话)
一些澄清:
在较新的Android版本上,渐变被破坏的实际原因是新要求在dp中指定值,请参见显示@drawable/spinner\u default\u custom
&others@AntonMalyshev“微调器\默认\自定义”是png文件。右下角是一个黑色三角形,看起来阴影渐变渲染不正确。。这个看起来怎么样spinner_selected_custom_border
|另外,您是从物理设备还是eclipse预览软件发布的图片?@HedeH如果我迁移到Android Studio,这个问题将得到解决?不应该与IDE相关,请发布spinner_selected_custom_border
这没有帮助。相同的结果。你是否拖动了预览模块中显示的结果图像?是的,我下载了zip并将其解压缩到“res”文件夹。我已更新了屏幕截图,你的视图与屏幕截图上的预览部分类似吗?我已更新了我的帖子。不,我没有与您的预览相同的预览。我得到错误:检索项的父项时出错:未找到与给定名称“@android:style/Widget.AppCompat.Light.Spinner”匹配的资源。如果我使用此名称:parent=“Widget.AppCompat.Spinner”,则我得到相同的错误。spinner的背景不正确。那么可能唯一的办法就是更新使用的Android SDK版本