Sur*_*gch 8 android android-recyclerview
根据这个答案,我能够在垂直RecyclerView的项目之间得到一个分隔符.但是,我也想稍微缩进分隔线.
我能够通过在RecyclerView.ItemDecoration
子类中的INDENT值中进行硬编码来实现.
int INDENT = 20;
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
int left = parent.getPaddingLeft() + INDENT;
int right = parent.getWidth() - parent.getPaddingRight() - INDENT;
// ...
divider.setBounds(left, top, right, bottom);
// ...
}
Run Code Online (Sandbox Code Playgroud)
然而,那时我不得不混淆密度无关的像素.
Sur*_*gch 27
inset
绘制/ my_divider.xml
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="40dp"
android:insetRight="40dp" >
<shape>
<size android:height="1dp"/>
<solid android:color="@color/recyclerview_divider" />
</shape>
</inset>
Run Code Online (Sandbox Code Playgroud)
使用如此答案中所示的获取资源ID的构造函数,我们可以提供自定义divider xml文件的id.
recyclerView.addItemDecoration(
new DividerItemDecoration(getActivity(), R.drawable.my_divider));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2728 次 |
最近记录: |