【发布时间】:2014-05-14 14:56:51
【问题描述】:
请不要将此问题标记为重复。为什么?因为我要解释为什么不是。
以下是我完成的步骤:
- 创建一个相对布局
- 为其创建了 LayoutPArams 作为 wrap_content 和 wrap_content
- 创建第一个 TextView ,给它一个 id
- 为第一个 textview 创建 LayoutParams 并将其添加到 RelativeLAyout
- 创建第二个 TextView
- 为其创建了 LayoutParams,添加了一条规则为 id_for_first_tetview 的 right_Of
- 第三个 Textview 的步骤相同,但它是第二个 textview 的 right_of
这里的问题是:第一个文本视图的文本延伸到第二行,当文本延伸到第二行时,这个的宽度,即第一个文本视图占据了整个宽度,因此另一个文本视图要么重叠或低于它。 让我用一张图来证明:
想要:
正在发生的事情:
简而言之,有没有办法将 textviews 保持在一行中,即使一个 textview 占用两行,第二个 textview 也可以在 forst Textview 的文本结束后立即开始?
提前谢谢你。我真的可以使用一些帮助。
【问题讨论】:
-
我认为您无法通过相对布局实现这一目标。当您为第一个 textView 设置 wrap_content 宽度时,它将测量其内容的宽度(它不会换行并填充父视图)。第二个 textView ,它将定位在第一个的右侧将具有奇怪的宽度。为了实现你想要的,最好使用带有 Layout_weight 参数的 LinearLayout 。
-
感谢您的回答。我确实想到了,但是三个文本视图包含连续的文本,所以用户看起来像是一大行,但在源代码中,我希望将文本分成 3 个文本视图。使用 layout_width,第一个 textview 将包含内容,并且看起来不连续。
标签: android-layout android-relativelayout textview android