Android棉花糖下拉列表中的Android 9Patch工件

Android棉花糖下拉列表中的Android 9Patch工件,android,drop-down-menu,nine-patch,android-6.0-marshmallow,Android,Drop Down Menu,Nine Patch,Android 6.0 Marshmallow,我在Android棉花糖上遇到了一个via 9Patch图像定制下拉列表的问题,我们仅将其用于反馈活动 它在安卓2.3-5.1上工作,在安卓6.0上不再工作 好的,让我们看看下拉列表的代码: <Spinner android:id="@+id/mood_spinner" style="@style/Dropdown" android:layout_marginLeft="20dp" android:layout_marginRight="20dp"

我在Android棉花糖上遇到了一个via 9Patch图像定制下拉列表的问题,我们仅将其用于反馈活动

它在安卓2.3-5.1上工作,在安卓6.0上不再工作

好的,让我们看看下拉列表的代码:

<Spinner
    android:id="@+id/mood_spinner"
    style="@style/Dropdown"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginTop="20dp"
    android:nextFocusDown="@+id/feedback_type"
    android:paddingBottom="5dp"
    android:paddingLeft="5dp"
    android:paddingRight="42dp"
    android:paddingTop="5dp" >
</Spinner>

使用样式

<style name="Dropdown" parent="@android:style/Theme">
    <item name="android:layout_width">match_parent</item>
    <item name="android:layout_height">wrap_content</item>
    <item name="android:minHeight">65dp</item>
    <item name="android:layout_weight">1</item>
    <item name="android:layout_marginRight">11dp</item>
    <item name="android:layout_marginLeft">1dp</item>
    <item name="android:background">@drawable/dropdown</item>
</style>

匹配父项
包装内容
65dp
1.
11dp
1dp
@可拉伸/下拉
这将导致下拉样式为(9Patch):

这很好

下拉列表具有自定义ArrayAdapter,下拉列表中的项使用以下布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/dropdown_inner"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:padding="10dp" >

<ch.mobility.mobidroid.view.MobidroidTextView
    android:id="@+id/feedback_category_name"
    style="@style/Font"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_marginLeft="5dp"
    android:maxLines="3"
    android:ellipsize="end"
    android:gravity="center_vertical" />

</RelativeLayout>

布局背景:

它的外观(安卓2.3-5.1)(Nexus4):

Android 6.0(棉花糖)(Nexus 5)上的外观:

我看了所有的9Patch图像(ldpi、mdpi、hdpi、xhdpi),没有发现它们有什么问题。你们有人有什么想法吗?

xxhdpi 9patch:

xxxhdpi 9patch:


我已经看过所有的9Patch图像(ldpi、mdpi、hdpi、xhdpi)
可能是因为您没有提供所需的可绘制图像,必须将其放入xxhdpi桶中。哦,谢谢您通知我。是否有某种工具可以生成xxhdpi 9Patch图像?这是我第一次做这样的事情,因为我们的设计师为了探索世界离开了我们,我现在正在游泳。我如何才能最好地处理这个问题?您应该处理“非9补丁”图像。只有在获得缩放版本后,才能向每个添加1像素边框和标记。因为边界不能缩放(必须精确为1像素)。很好的教程:制作自己的“非9补丁”图像:只需从所有侧面移除1px边框。目前我可用的最高分辨率是xhdpi,所以我将从这里开始。谢谢你的帮助,我做完后会在这个问题上公布我的结果。我现在才意识到我是多么感激我们的图形设计师:)现在,这9个补丁告诉我:有一个水平延伸。所有的内容区域都是水平的。有2个垂直拉伸(内部不能拉伸)。大约2/3的RD是垂直的内容区域,1/3没有被(最终的)文本占据。这听起来像是它在设备上的正确外观(如第一篇文章所示)。因此,如果我将xxxhdpi版本用于xxxhdpi设备,我假设您也没有看到任何错误导致每列末尾出现黑色/灰色拉伸?黑色是真正的黑色。但我不确定透明度。我看到图像/方法是“颜色比例”,而不是“RGB颜色”。也许这是个问题?标记边框必须完全透明(黑色标记除外)。我将再次在Photoshop中检查图像的颜色模式。除此之外,我认为一切都应该是好的。如果这不是问题所在,我真的认为这与这些具有“奇怪”缩放因子的设备有关。我将不得不等到三星Galaxy S6接收到Android 6.0,因为该设备正好是xxxhdpi(4x),然后检查它是否与xxxhdpi文件夹中的xxhdpi图像一起工作。无论如何,感谢您的耐心、帮助和对9patches的介绍。