我正在开发一个我正在使用的Android应用程序RecyclerView.我需要添加一个分压器在RecyclerView.我试着添加 -
recyclerView.addItemDecoration(new
DividerItemDecoration(getActivity(),
DividerItemDecoration.VERTICAL_LIST));
Run Code Online (Sandbox Code Playgroud)
下面是我的xml代码 -
<android.support.v7.widget.RecyclerView
android:id="@+id/drawerList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
/>
Run Code Online (Sandbox Code Playgroud) 我设法通过在/ app/res/drawable /文件夹中创建名为dash.xml的文件来弄清楚如何创建自定义形状(使用虚线笔划):
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:color="#534b4b"
android:width="1dp"
android:dashGap="2dp"
android:dashWidth="1dp"
/>
<size
android:height="1dp"
/>
</shape>
Run Code Online (Sandbox Code Playgroud)
现在我对如何将这个形状应用于ListView感到困惑.我尝试了以下内容,但没有显示分隔符:
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:divider="@drawable/dash"
android:dividerHeight="1dp"
/>
Run Code Online (Sandbox Code Playgroud)
跆拳道?
我已经使用了这个答案中的代码为我的RecyclerViews 创建了一个固定的分隔线.
但是,我希望这条线是虚线/点线.
我已经有一个line_dashed.xml资源,我在我的应用程序的其他地方使用:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line" >
<stroke
android:color="@color/blue"
android:dashGap="12dp"
android:dashWidth="12dp"
android:width="1dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试将其应用为通过调用访问的可绘制资源,则recyclerView.addItemDecoration(new SimpleDividerItemDecoration(getContext()))根本不会绘制任何行.
如何解决如此虚线?