RecyclerView - смещение макета при создании разделителя элементов - PullRequest
0 голосов
/ 24 июня 2019

Я реализую вертикальный разделитель для каждого из моих viewHolders, используя 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);
    }

}

1 Ответ

1 голос
/ 24 июня 2019

Вам также необходимо переопределить getitemoffsets(). Там вы применяете смещения к элементам:

@Override
public void getItemOffsets(
                Rect outRect,
                View view, 
                RecyclerView parent,
                RecyclerView.State state
) { outRect.left = 150; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...