0

我正在尝试在线性布局中使用 layout_weight 但它没有设置正确的布局。这一切都被混淆了。每个文本视图中都不存在适当的间隙。请帮我解决这个问题。

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mainResultLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:baselineAligned="false"
    android:orientation="horizontal" >

    <LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/request_date"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="25 Sep 2013 | 09:45" 
        android:layout_gravity="left"/>

    <TextView
        android:id="@+id/approval_id"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="XXXXXXXX"
        android:layout_gravity="right" 
        />
    <TextView
        android:id="@+id/trip_date"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="25 Sep 2013"
        android:layout_gravity="right" 
        />

    <TextView
        android:id="@+id/trip_id"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="XXXXXXXXXX"
        android:layout_gravity="right" 
        />
    <TextView
        android:id="@+id/approval_status"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:text="Waiting"
        android:layout_gravity="right" 
        />

</LinearLayout>

</LinearLayout>

所以请帮助解决这个问题将非常感谢你..

4

6 回答 6

1

尝试使用此代码在每个布局中设置适当的间隙。

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

<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
    android:id="@+id/request_date"
    android:layout_width="0dp"
    android:layout_weight=".20"
    android:layout_height="wrap_content"
    android:text="25 Sep 2013 | 09:45" 
    android:layout_gravity="left"/>

<TextView
    android:id="@+id/approval_id"
    android:layout_width="wrap_content"
    android:layout_weight=".20"
    android:layout_height="wrap_content"
    android:text="XXXXXXXX"
    />
<TextView
    android:id="@+id/trip_date"
    android:layout_width="wrap_content"
    android:layout_weight=".20"
    android:layout_height="wrap_content"
    android:text="25 Sep 2013"
    />

<TextView
    android:id="@+id/trip_id"
    android:layout_width="wrap_content"
    android:layout_weight=".20"
    android:layout_height="wrap_content"
    android:text="XXXXXXXXXX"
    />
<TextView
    android:id="@+id/approval_status"
    android:layout_width="wrap_content"
    android:layout_weight=".20"
    android:layout_height="wrap_content"
    android:text="Waiting"
    />

</LinearLayout>
</LinearLayout>
于 2013-09-21T08:37:05.637 回答
0

Try with android:layout_width="match_perent" in each textview properties

于 2013-09-21T08:11:45.157 回答
0

将 *android:layout_width="0dp"* 更改为 *android:layout_height="wrap_content"* 或 *android:layout_height="wrap_content"*。

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

<TextView
    android:id="@+id/request_date"
    android:layout_width="wrap_content"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="25 Sep 2013 | 09:45" 
    android:layout_gravity="left"/>

<TextView
    android:id="@+id/approval_id"
    android:layout_width="wrap_content"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="XXXXXXXX"
    android:layout_gravity="right" 
    />
<TextView
    android:id="@+id/trip_date"
    android:layout_width="wrap_content"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="25 Sep 2013"
    android:layout_gravity="right" 
    />

<TextView
    android:id="@+id/trip_id"
    android:layout_width="wrap_content"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="XXXXXXXXXX"
    android:layout_gravity="right" 
    />
<TextView
    android:id="@+id/approval_status"
    android:layout_width="wrap_content"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="Waiting"
    android:layout_gravity="right" 
    />

此外,如果您不必添加任何其他内容,则只能使用一个LinearLayout

于 2013-09-21T08:13:59.607 回答
0
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainResultLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:gravity="center"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/linearLayout2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/request_date"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center|left"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="25 Sep 2013 | 09:45" />

    <TextView
        android:id="@+id/approval_id"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center|left"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="XXXXXXXX" />

    <TextView
        android:id="@+id/trip_date"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center|left"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="25 Sep 2013" />

    <TextView
        android:id="@+id/trip_id"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center|left"
        android:layout_weight="1"
        android:text="XXXXXXXXXX" />

    <TextView
        android:id="@+id/approval_status"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center|left"
        android:layout_weight="1"
        android:text="Waiting" />
</LinearLayout>

于 2013-09-21T08:14:37.157 回答
0

只需在每种情况下将宽度更改为 match_parent 即可。

<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
    android:id="@+id/request_date"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="25 Sep 2013 | 09:45" 
    android:layout_gravity="left"/>

<TextView
    android:id="@+id/approval_id"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="XXXXXXXX"
    android:layout_gravity="right" 
    />
<TextView
    android:id="@+id/trip_date"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="25 Sep 2013"
    android:layout_gravity="right" 
    />

<TextView
    android:id="@+id/trip_id"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="XXXXXXXXXX"
    android:layout_gravity="right" 
    />
<TextView
    android:id="@+id/approval_status"
    android:layout_width="match_parent"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="Waiting"
    android:layout_gravity="right" 
    />

于 2013-09-21T12:06:04.197 回答
0

xml 中的第二个线性布局是做什么的?你想让所有这些文本视图以相同的重量对齐吗?从所有文本视图中删除 android:layout_gravity="left"。像这样做...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainResultLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:baselineAligned="false"
android:orientation="horizontal" >


<TextView
    android:id="@+id/request_date"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="25 Sep 2013 | 09:45" 
    />

<TextView
    android:id="@+id/approval_id"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="XXXXXXXX"
    />
<TextView
    android:id="@+id/trip_date"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="25 Sep 2013"
    />

<TextView
    android:id="@+id/trip_id"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="XXXXXXXXXX"
    />
<TextView
    android:id="@+id/approval_status"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="wrap_content"
    android:text="Waiting"
    />


</LinearLayout>
于 2013-09-21T08:36:59.360 回答