线性布局中的Android Java Justified tablerow

时间:2014-03-30 14:41:22

标签: java android layout android-linearlayout tablerow

我有一个线性布局的表格行 表行设置为填充父级 我在tablerow里面有三个对象,一个是textview,然后是一个编辑框,然后是一个buttong 它们都是水平排列的

我希望左侧的textview固定为100p宽度 我希望右边的按钮固定为50dp宽度

如何在中间设置编辑框,以便所有三个填充屏幕的宽度,这可能因设备而异

我尝试了各种匹配和换行的组合,但似乎无法得到它

任何想法

标记

3 个答案:

答案 0 :(得分:0)

LAYOUT WEIGHTS 就派上用场了。

  • 对于固定元素,只需指定width&像往常一样height
  • 对于弹性的,将“0dp”设置为您想要弹性的大小,并在权重字段中输入weightlinearlayout的布局参数)。

哪个weight

如果你只有一个弹性元素,那就无所谓了。如果您有2,则可用空间将按权重按比例分配。因此,如果你想要2个弹性元素,一个是另一个的两倍,你可以分配权重1和1。 2。

顺便说一下,LinearLayoutsweight的大量使用有些劝阻,因为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>