在线性布局Android中使用layout_weight

时间:2013-09-21 08:04:38

标签: android android-layout

我正在尝试在线性布局中使用layout_weight,但它没有设置正确的布局。在每个textview中都没有混合.proper gap。请帮我解决这个问题。

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>

所以请帮助解决这个问题,谢谢你的全部..

6 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

在每个textview属性中尝试使用android:layout_width =“match_perent”

答案 2 :(得分:0)

更改* android:layout_width =“0dp”* with * 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

答案 3 :(得分: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>

答案 4 :(得分: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>

答案 5 :(得分: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" 
    />

相关问题