Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 6.0+;上的微调器背景不正确;_Android_Android Spinner - Fatal编程技术网

Android 6.0+;上的微调器背景不正确;

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

我在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/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版本