Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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
如何将边距开始添加到DividerItemDecoration Android_Android - Fatal编程技术网

如何将边距开始添加到DividerItemDecoration Android

如何将边距开始添加到DividerItemDecoration Android,android,Android,我使用下面的代码将分隔符添加到我的列表中。但我的问题是,如何在这些分割线上添加边距,使其看起来像所附的图像。先谢谢你 DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(), layoutManager.getOrientation()); recyclerView.addItemDecoration(dividerItemDecoration);

我使用下面的代码将分隔符添加到我的列表中。但我的问题是,如何在这些分割线上添加边距,使其看起来像所附的图像。先谢谢你

DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),
    layoutManager.getOrientation());
recyclerView.addItemDecoration(dividerItemDecoration);

您需要重写方法
getItemOffset(Rect、View、RecyclerView、RecyclerView.State)


见示例:

DividerItemDecoration dividerItemDecoration = new 
    DividerItemDecoration(recyclerView.getContext(),layoutManager().getOrientation()){

    private int startMargin = Utils.fromDpToPx(10f);

    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        if (parent.getChildAdapterPosition(view) == 0){
            outRect.set(0, startMargin, 0, 0);
        }
    }
};
recyclerView.addItemDecoration(dividerItemDecoration);

你能给recyclerView本身添加填充吗?这会改变列表项的边距(这不是我们想要的)而不是分隔符(这是我们想要的)。