【发布时间】:2018-01-22 23:26:39
【问题描述】:
我目前正在为我的列表视图使用列表选择器,并使用图层列表创建它。这是我的 xml 代码:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/menu_arrow"
android:width="18dp"
android:height="36dp"
android:top="5dp"/>
<item android:top="0dp" android:left="5dp" android:bottom="0dp" android:right="0dp">
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
</shape>
</item>
当我构建应用程序时,它在 api 23 及更高版本上看起来很好。
但是对于 api 22 及以下,它看起来像这样:
我看到这篇帖子Shape drawable in layer-list rendered incorrectly for APIs below 23 并了解到属性宽度和高度仅适用于 api 23 及更高版本。所以我在尺寸标签内添加了宽度和高度,如下所示:
<item android:drawable="@drawable/menu_arrow"
android:top="5dp">
<size android:height="36dp" android:width="18dp"/>
</item>
但图像仍显得拉伸。 api 22 及以下版本需要什么属性才能使所有版本的drawable 看起来一致?
【问题讨论】:
-
你可以为每种类型创建drawable、drawable-v21和drawable-v23和Edit
-
我已经有了每种类型的 xml 文件,api 22 的代码在 v21 文件夹中
-
你能发布 item_view.xml 吗?
-
尝试将 android:layout_width="wrap_content" 设置为 listview 的 item_view
标签: android xml android-5.0-lollipop drawable layer-list