#java #android #android-recyclerview #gridlayoutmanager #staggeredgridlayout
#java #Android #android-recyclerview #gridlayoutmanager #staggeredgridlayout
Вопрос:
я хочу создать сетку в Android, в которой предположим
- если я передам arraylist с 5 элементами, в первой строке должно быть 3 столбца, а в следующей строке должно быть 2 столбца с центрированным
- если я передам arraylist с 6 элементами, в первой строке должно быть 3 столбца, а в следующей строке должно быть 3 столбца
- если я передаю arraylist с 7 элементами, в первой строке должно быть 3 столбца, в следующей строке должно быть 3 столбца, а в следующей строке должен быть 1 столбец с центрированным
Комментарии:
1. Если вы используете GridView, то пытались ли вы установить значение столбца 3 в вашем xml?
2. @pooja нет, это не работает, он отображает 3 в первом столбце и 2 во втором, но не в центре
3. хорошо, теперь я понял суть вашего вопроса, увидев ваше изображение
Ответ №1:
Я бы посоветовал вам использовать FlexBoxLayout
. Он похож на CSS FlexBox
и точно соответствует вашим потребностям.
Просто добавьте deppendency в Gradle:
dependencies {
compile 'com.google.android:flexbox:0.2.3'
}
Поместите макет в файл .xml:
<com.google.android.flexbox.FlexboxLayout/>
и динамически добавлять дочерние элементы представления:
flexBox.addView(child);