如何在Android中创建“浮动TextView”?

3
我正在以水平方向将各种TextView以编程方式放入LinearLayout中。经过2小时的研究,我无法找到告诉Android不要将所有TextView挤在一行中,而是要将不适合的TextView“浮动”到下一行的方法。
我知道LinearLayout中没有实际的“行”,但我该如何告诉TextView实际上像来自HTML世界的浮动DIV一样行事呢?
非常感谢!
2个回答

4
使用 RelativeLayout。除了允许您相对于彼此设置视图外,它还可以将它们与父级对齐。
具体来说,请查看RelativeLayout.LayoutParams,您可以通过它执行类似于float的操作,并进行alignParentRight / alignParentLeft等操作。

谢谢Charlie。但是这是否意味着我必须测量每个视图并在编程上将它们相对放置?我已经尝试过RelativeLayout的解决方案,但是如果没有显式定位,我无法使其正常工作。我希望避免测量... - Dennis Winter
2
如果您有已知数量的元素,RelativeLayout 很好用;如果您有许多元素(特别是它们是动态的),那么您需要像 FlowLayout 这样的东西,不幸的是 Android 没有(这本身就是一个小争议点:http://code.google.com/p/android/issues/detail?id=4543)。正如 kcoppock 所指出的那样,有几个浮动的(抱歉)在周围。也许您可以想出另一种方法,不要试图将尽可能多的动态项目放在每行上(不知道情况很难猜测,但也许另一种方法会更好?)。 - Charlie Collins
每个元素将包含文本消息接收者的名称。因此,元素的数量完全取决于用户。非常感谢您的努力。我尝试了kcoppock提到的类,并且目前它可以正常工作。 :) - Dennis Winter

2

看起来你正在寻找类似于Java中的FlowLayout?我在这个问题中找到了一个答案,对于你想要做的事情非常有帮助。


不客气 :) 你可能想要查看一下帖子中的一些最新回答,它们提出了一些可能需要解决的问题。 - Kevin Coppock
我一定会这样做的。再次感谢! :) - Dennis Winter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接