Я проверял, и я верю, что Библиотека Вызывается flexbox, поможет вам, его потребуется немного преобразовать, но он довольно прост в использовании и идеально подходит для такой панели, как вы хотите
Вот выдержка из страницы, которая, я думаю, вам очень поможет
Второй - это FlexboxLayoutManager, который можно использовать в RecyclerView.
RecyclerView recyclerView = (RecyclerView) context.findViewById(R.id.recyclerview);
FlexboxLayoutManager layoutManager = new FlexboxLayoutManager(context);
layoutManager.setFlexDirection(FlexDirection.COLUMN);
layoutManager.setJustifyContent(JustifyContent.FLEX_END);
recyclerView.setLayoutManager(layoutManager);
or for the attributes for the children of the FlexboxLayoutManager you can do like:
mImageView.setImageDrawable(drawable);
ViewGroup.LayoutParams lp = mImageView.getLayoutParams();
if (lp instanceof FlexboxLayoutManager.LayoutParams) {
FlexboxLayoutManager.LayoutParams flexboxLp = (FlexboxLayoutManager.LayoutParams) lp;
flexboxLp.setFlexGrow(1.0f);
flexboxLp.setAlignSelf(AlignSelf.FLEX_END);
}
ПреимуществоИспользование FlexboxLayoutManager заключается в том, что он перерабатывает представления, которые выходят за пределы экрана, для повторного использования для представлений, отображаемых при прокрутке пользователя, вместо того, чтобы надувать каждое отдельное представление, что потребляет намного меньше памяти, особенно когда количество элементов, содержащихся в контейнере Flexbox, велико.