我一直试图找到一个解决方案已经好几个星期了,并继续把它放在我的后列表上,我无法包装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);
查看最后一个TextView永远不会进入下一行
我查了很多线程和解决方案,事实证明LinearLayout
无法包装这样的内容而是我必须创建自己的布局,例如FlowLayout
这个问题有什么简单的解决方案吗?
答案 0 :(得分:2)
您可以使用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。
答案 1 :(得分:2)
看看flexbox-layout。 易于使用并使用Gradle导入。