我希望在视图中有3个TextViews
。 TextViews
必须一个接一个地水平分隔10dp边距。假设一个TextView
的内容超过一行,剩余的内容以及剩余的TextViews
应该转移到下一行,就像使用wrap_content
一样。我不会&#39 ; t希望TextViews
占用相等的空间。它只应根据其内容占用空间
答案 0 :(得分:3)
我想你想要FlowLayout
? FlowLayout:
扩展的线性布局,在当前行中没有位置时包装其内容。
在Gradle中将其作为依赖项添加为:compile 'org.apmem.tools:layouts:1.10@aar'
并在xml中声明:
<org.apmem.tools.layouts.FlowLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
</org.apmem.tools.layouts.FlowLayout>
答案 1 :(得分:1)
我建议使用带有1个文本视图而不是3个文本视图的字符串构建器 - 它将更加直观,涉及更少的视图(更便宜)并且更易于维护
编辑:如果以后需要访问该文本视图的部分内容,可以将文本视图文本的部分内容存储在字符串字段中。这样,您的视图层次结构将很简单,您仍然可以单独访问文本粒子
伪码例证: string1 =“土豆”; string2 =“优于”; string3 =“黄瓜”; textview.setText(string1 + string2 + string3);
答案 2 :(得分:0)
使用weightSum for linearLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="3"
android:orientation="horizontal"
>
您可以将每个TextView的layout_weight设置为1,将LinearLayout中的weightSum设置为3来实现此目的。
<TextView
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_width="0dp"/>
官方指南 - http://developer.android.com/reference/android/widget/LinearLayout.html#attr_android:weightSum
其他教程 - http://androidtuts.weebly.com/xml-layout-weightsum-weight.html
<强>更新强>
如果您需要3个textviews之间的空格,请添加&#34; Space&#34;视图。 &安培;设定你需要的重量。
或使用左边或右边的边距