我有一个线性布局的表格行 表行设置为填充父级 我在tablerow里面有三个对象,一个是textview,然后是一个编辑框,然后是一个buttong 它们都是水平排列的
我希望左侧的textview固定为100p宽度 我希望右边的按钮固定为50dp宽度
如何在中间设置编辑框,以便所有三个填充屏幕的宽度,这可能因设备而异
我尝试了各种匹配和换行的组合,但似乎无法得到它
任何想法
标记
答案 0 :(得分:0)
LAYOUT WEIGHTS 就派上用场了。
width
&像往常一样height
。weight
(linearlayout
的布局参数)。哪个weight
?
如果你只有一个弹性元素,那就无所谓了。如果您有2,则可用空间将按权重按比例分配。因此,如果你想要2个弹性元素,一个是另一个的两倍,你可以分配权重1和1。 2。
顺便说一下,LinearLayouts
与weight
的大量使用有些劝阻,因为Android需要两倍的时间来计算它们的大小。如果你的表有很多行,你肯定会注意到它没有固定元素那么快。
答案 1 :(得分:0)
您必须对视图组的特定子项使用layout_weight,或者使用relativelayout可能会解决您的问题,请为您发布布局XML。
答案 2 :(得分:0)
使用layout_weight
:
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Name"
android:id="@+id/textView" />
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_weight="1" />
<Button
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="Ok"
android:id="@+id/button" />
</LinearLayout>