Способ обернуть LinearLayout - PullRequest
0 голосов
/ 09 июня 2018

Я пытался найти решение для этого в течение нескольких недель и продолжаю помещать это в свой список, я не могу обернуть высоту LinearLayout.

У меня есть простая LinearLayout

<LinearLayout
android:id="@+id/tagsLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="left"
android:paddingRight="10dp"
android:paddingBottom="5dp"
android:padding="5dp"/>

Затем я добавляю несколько TextViews, используя мой код в этом LinearLayout с тегами Стиль ссылки

Txt.SetBackgroundResource(Resource.Drawable.roundtext);
Txt.SetPadding(30, 10, 30, 10);
Txt.SetTextColor(global::Android.Graphics.Color.ParseColor("#373944"));
Txt.SetTextSize(Android.Util.ComplexUnitType.Dip, 12);

Результаты следующие enter image description here

Посмотрите, как последний TextView никогда не переходит на следующую строку

Я посмотрел так много потоков и решений, и оказалось, что LinearLayout не может обернуть содержимое таким образом. Вместо этого мне придется создать свой собственныйМакет, такой как FlowLayout

Есть ли простое решение этой проблемы?

Ответы [ 2 ]

0 голосов
/ 09 июня 2018

Взгляните на flexbox-layout .Легко использовать и импортировать с Gradle.

0 голосов
/ 09 июня 2018

Вы можете использовать GridView вместо LinearLayout.

<GridView
    android:id="@+id/tagsLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:numColumns="auto_fit"
    android:horizontalSpacing="5dp"
    android:verticalSpacing="5dp"/>

Это должно автоматически поставить TextView на следующую строку.Если вы хотите что-то более динамичное, используйте библиотеку FlowLayout или StaggeredLayout . Проверьте этот SO , который утверждает, что у него есть альтернатива FlowLayout.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...