如何修复列宽?

时间:2016-08-24 07:01:07

标签: java android xml android-layout user-interface

现在每行的宽度会根据文本的大小而变化。但我想像excel一样为每一列固定大小。应该改变什么?它不应该是match_parent,因为父级的宽度非常大..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:orientation="horizontal">

    <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="@dimen/text_margin"
            android:textAppearance="?attr/textAppearanceListItem" />

    <TextView
            android:id="@+id/email"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="@dimen/text_margin"
            android:textAppearance="?attr/textAppearanceListItem" />

    <TextView
        android:id="@+id/short_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/text_margin"
        android:textAppearance="?attr/textAppearanceListItem" />
</LinearLayout>

修改

当前版本显示类似

的内容
Chris chris@gmail.com R
Apostole apostole@gmail.com -

但我想要的是

Chris    chris@gmail.com    R
Apostole apostole@gmail.com -

我试过@Priyank Prajapati的版本,但它仍然给出了以前的布局

2 个答案:

答案 0 :(得分:1)

做这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:orientation="horizontal">

    <TextView
            android:id="@+id/name"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_margin="@dimen/text_margin"
            android:textAppearance="?attr/textAppearanceListItem" />

    <TextView
            android:id="@+id/email"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_margin="@dimen/text_margin"
            android:textAppearance="?attr/textAppearanceListItem" />

    <TextView
        android:id="@+id/short_name"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/text_margin"
        android:textAppearance="?attr/textAppearanceListItem" />
</LinearLayout>

答案 1 :(得分:1)

将父android:layout_width="wrap_content"更改为android:layout_width="match_parent"

注意:android:layout_weight="1"使用with android:layout_width="0dp",每个行都会使用<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:weightSum="10"> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/activity_horizontal_margin" android:layout_weight="2" android:text="Chris" android:textAppearance="?attr/textAppearanceListItem" /> <TextView android:id="@+id/email" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/activity_horizontal_margin" android:layout_weight="8" android:text="chris@gmail.com" android:textAppearance="?attr/textAppearanceListItem" /> <TextView android:id="@+id/short_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/activity_horizontal_margin" android:layout_weight="1" android:text="R" android:textAppearance="?attr/textAppearanceListItem" /> </LinearLayout>

enter image description here

完整代码:

$input = array_map("unserialize", array_unique(array_map("serialize", $input)));