Ориентация FlexBoxLayoutManager - PullRequest
0 голосов
/ 16 июня 2020

Я работаю над этим проектом, где мне нужно отображать некоторые элементы в столбцах, и для этого я использую библиотеку из Google FlexBoxLayout.

Пока что я сделал это так, чтобы это:

View          Recycler
x x x x x x x 0 4 8
x x x x x x x 1 5 
x x x x x x x 2 6 
x x x x x x x 3 7 

, но я хочу, чтобы он выглядел так:


View          Recycler
x x x x x x x 8 4 0
x x x x x x x   5 1
x x x x x x x   6 2
x x x x x x x   7 3

Поскольку я использую RecyclerView для отображения этих элементов, FlexBoxLayoutManager не позволяет мне изменять его layoutDirection в RTL. Я пытался изменить layoutDirection recycler.layoutDirection = View.LAYOUT_DIRECTION_RTL ресайклера, но похоже, что он выталкивает View влево, за пределы экрана, вот так:

Recyc Empty screen
8 4 0 y y y y y y y
  5 1 y y y y y y y
  6 2 y y y y y y y
  7 3 y y y y y y y

1 Ответ

0 голосов
/ 29 июня 2020

Я нашел решение. Проблема заключалась в том, что я изменил только RecyclerView layoutDirection вместо того, чтобы изменять родительский layoutDirection (ConstraintLayout в моем случае). Как только родительский layoutDirection изменен на «RTL», мне просто нужно было исправить ограничения конца / начала дочерних представлений. Это немного сбивало с толку, потому что, поскольку он перевернут, это не так просто, как при использовании ориентации LTR, но как только это будет сделано, макет, кажется, работает так, как я хотел.

Надеюсь, это поможет, если у кого-то есть такая же проблема !

...