В стандартной платформе Android нет ничего, что позволяло бы вам это делать, но есть очень хорошая внешняя библиотека от Google под названием FlexboxLayout , которая сделает это за вас.
Вы 'd используйте FlexboxLayout
в качестве родителя для всех ваших TextView
s, например, вместо LinearLayout
, и он позаботится об их упаковке.
<com.google.android.flexbox.FlexboxLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:flexWrap="wrap">
<!-- add your 20 textviews here -->
</com.google.android.flexbox.FlexboxLayout>
Обратите внимание, что важноукажите app:flexWrap="wrap"
, поскольку по умолчанию не выполняется перенос.Я не уверен, почему это так, поскольку весь смысл использования этой библиотеки состоит в том, чтобы получить перенос, но эй.