Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android RecyclerView-创建项目分隔符时移动布局_Android_Android Recyclerview - Fatal编程技术网

Android RecyclerView-创建项目分隔符时移动布局

Android RecyclerView-创建项目分隔符时移动布局,android,android-recyclerview,Android,Android Recyclerview,我正在使用itemDecoration为我的每个视图持有者实现一个垂直分隔符。我该如何使布局首先绘制分隔符,然后在分隔符右侧绘制视图 @Override public void onDraw(@NonNull Canvas c, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) { int top = 0; int bottom = parent.getHeight(); int c

我正在使用itemDecoration为我的每个视图持有者实现一个垂直分隔符。我该如何使布局首先绘制分隔符,然后在分隔符右侧绘制视图

@Override
public void onDraw(@NonNull Canvas c, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {



    int top = 0;
    int bottom = parent.getHeight();


    int childCount = parent.getChildCount();

    for(int i = 0; i < childCount; ++i) {
        View child = parent.getChildAt(i);
        parent.getLayoutManager().getDecoratedBoundsWithMargins(child, this.mBounds);
        int right = 150;
        int left = 0;
        this.mDivider.setBounds(left, top, right, bottom);
        this.mDivider.draw(c);
    }

}
@覆盖
public void onDraw(@NonNull Canvas c,@NonNull RecyclerView parent,@NonNull RecyclerView.State){
int-top=0;
int bottom=parent.getHeight();
int childCount=parent.getChildCount();
对于(int i=0;i
您还需要覆盖。在这里,您可以将偏移应用于项目:

@Override
public void getItemOffsets(
                Rect outRect,
                View view, 
                RecyclerView parent,
                RecyclerView.State state
) { outRect.left = 150; }