diff --git a/android/res/drawable/divider_transparent_half_plus_eight.xml b/android/res/drawable/divider_transparent_half_plus_eight.xml new file mode 100644 index 0000000000..268fdff7eb --- /dev/null +++ b/android/res/drawable/divider_transparent_half_plus_eight.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/android/res/layout/tags_category.xml b/android/res/layout/tags_category.xml index eea608a303..b07f21acdf 100644 --- a/android/res/layout/tags_category.xml +++ b/android/res/layout/tags_category.xml @@ -2,6 +2,7 @@ flexLines = flexboxLayoutManager.getFlexLines(); - if (flexLines == null || flexLines.isEmpty()) - { - outRect.top = 0; - return; - } - - FlexLine flexLine = flexLines.get(0); - int position = parent.getLayoutManager().getPosition(view); - int itemCount = flexLine.getItemCount(); - if (position < itemCount) + boolean isFirstLine = isFirstLineItem(view, parent, flexboxLayoutManager); + if (isFirstLine) outRect.top = 0; } - private boolean hasSpaceFromRight(Rect outRect, View view, RecyclerView parent) + private static boolean isFirstLineItem(@NonNull View view, @NonNull RecyclerView parent, + @NonNull FlexboxLayoutManager layoutManager) + { + List flexLines = layoutManager.getFlexLines(); + if (flexLines == null || flexLines.isEmpty()) + return true; + + FlexLine flexLine = flexLines.iterator().next(); + int position = parent.getLayoutManager().getPosition(view); + int itemCount = flexLine.getItemCount(); + return position < itemCount; + } + + private boolean hasSpaceFromRight(@NonNull Rect outRect, @NonNull View view, + @NonNull RecyclerView parent) { int padding = parent.getPaddingLeft() + parent.getRight(); return mCurrentOffset + view.getWidth() + outRect.left < parent.getWidth() - padding;