列表视图:添加箭头作为分隔线
Listview: Add arrows as dividers
我想添加箭头作为列表视图项目之间的分隔符。我已经走得很远了,但是我的箭头被拉长了,而且没有设置分隔线宽度的选项。这是我到目前为止所拥有的...
在我的 styles.xml 中:
<style name="dividedListStyle" parent="@android:style/Widget.ListView">
<item name="android:cacheColorHint">@android:color/transparent</item>
<item name="android:divider">@drawable/baseline_expand_more_black_24</item>
<item name="android:dividerHeight">50dp</item>
</style>
然后在我的布局文件中:
<ListView
android:id="@+id/checklist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/menu"
android:layout_alignParentTop="true"
style="@style/dividedListStyle">
</ListView>
这是分隔线的样子:
这是我需要的:
ListView
分隔线被拉伸到 ListView
的全宽和您选择的高度 (<item name="android:dividerHeight">50dp</item>
)。这就是为什么您的图像被拉伸的原因。
要避免它并保持size/ratio不变,有这样的方法:
- 使用 9 补丁可绘制对象。您可以使用默认的 Android 9-patch 编辑器将您的箭头转换为 9-patch(您仍然需要一些关于 9-patch 工作原理的基本知识)
- 使您的箭头可绘制成为可绘制对象或图层列表可绘制对象的一部分:
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:src="@drawable/baseline_expand_more_black_24">
</bitmap>
我想添加箭头作为列表视图项目之间的分隔符。我已经走得很远了,但是我的箭头被拉长了,而且没有设置分隔线宽度的选项。这是我到目前为止所拥有的... 在我的 styles.xml 中:
<style name="dividedListStyle" parent="@android:style/Widget.ListView">
<item name="android:cacheColorHint">@android:color/transparent</item>
<item name="android:divider">@drawable/baseline_expand_more_black_24</item>
<item name="android:dividerHeight">50dp</item>
</style>
然后在我的布局文件中:
<ListView
android:id="@+id/checklist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/menu"
android:layout_alignParentTop="true"
style="@style/dividedListStyle">
</ListView>
这是分隔线的样子:
这是我需要的:
ListView
分隔线被拉伸到 ListView
的全宽和您选择的高度 (<item name="android:dividerHeight">50dp</item>
)。这就是为什么您的图像被拉伸的原因。
要避免它并保持size/ratio不变,有这样的方法:
- 使用 9 补丁可绘制对象。您可以使用默认的 Android 9-patch 编辑器将您的箭头转换为 9-patch(您仍然需要一些关于 9-patch 工作原理的基本知识)
- 使您的箭头可绘制成为可绘制对象或图层列表可绘制对象的一部分:
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center"
android:src="@drawable/baseline_expand_more_black_24">
</bitmap>