Android:如何将 LinearLayout 的内容垂直包装在 TableRow 中?
Posted
技术标签:
【中文标题】Android:如何将 LinearLayout 的内容垂直包装在 TableRow 中?【英文标题】:Android: How to wrap content of a LinearLayout inside a TableRow vertically? 【发布时间】:2013-05-14 20:48:05 【问题描述】:我正在尝试以编程方式将标签列表(基本上只是带有背景和边框的 TextViews)添加到 TableRow。
我已将 LinearLayout 添加到 TableRow 以用作容器。不幸的是,我似乎无法使布局垂直换行 - 即,如果要添加很多标签,列表就会水平离开屏幕。
如何将 TextView 项目列表添加到 TableRow 内的 LinearLayout?这是我的布局:
...
<TableRow
android:layout_
android:layout_ >
<TextView
android:layout_
android:layout_
style="@style/LabelTheme"
android:text="@string/interests" />
<LinearLayout
android:id="@+id/eventInterestContainer"
android:layout_
android:layout_
android:orientation="horizontal" />
</TableRow>
...
注意:我添加了一个 LinearLayout,因为否则每个标签的宽度都是单元格的宽度,而我希望宽度为 wrap_content。也许这不是必需的?
【问题讨论】:
尝试将您的线性布局方向更改为垂直 我希望它在一行中水平放置尽可能多的标签,但在必要时换行到下一行。如果我改变方向,它们都会垂直放置。 【参考方案1】:您是否尝试过将 LinearLayout 的方向值更改为“垂直”。
如果您想“将尽可能多的标签水平放置在一行上,但在必要时换行到下一行”,您可以拥有一系列“水平”线性布局并将您的内容添加到下一个/连续一旦后续内容的内容大于您的屏幕宽度,则线性布局
【讨论】:
这似乎需要做很多工作。有没有办法为我制作android? developer.android.com/guide/topics/ui/layout/gridview.html 可能比线性布局更适合您的问题?如果没有,那么据我所知,在不实现多个线性布局的情况下,没有一种简单的方法可以让 Android 为您执行此操作以上是关于Android:如何将 LinearLayout 的内容垂直包装在 TableRow 中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用android中的拖放框架从一个LinearLayout切换到另一个LinearLayout
Android Studio 如何在 LinearLayout 元素中实现锚链接?
如何在 LinearLayout 中删除 ImageView