无法在线性布局中调整权重 - android

时间:2015-02-14 05:36:28

标签: android xml listview layout android-linearlayout

我已经搜索过,但无法找出问题所在。

enter image description here

我想完全像上面的图片。我已经在垂直线上使用了线性布局,用于" Day Teams Score Status" 然后,对于包含上述标题值的内容,我使用了列表视图。

我所取得的成就是标题" Day Teams得分状态"用空格显示,但内容(在单独的.xml文件中)没有用空格显示,所以我得到的是:

enter image description here

列表视图的适配器xml文件是:

adapter_my_matches.xml

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


    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Date"
        android:id="@+id/textViewDate"
        android:layout_weight="0.1"
        android:layout_gravity="center_vertical" />

    <LinearLayout
        android:id="@+id/ll"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_weight="0.4">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Teams"
            android:id="@+id/textViewTeams1"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Teams"
            android:id="@+id/textViewTeams2"/>
    </LinearLayout>

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Score"
        android:id="@+id/textViewScore"
        android:layout_weight="0.1"
        android:layout_gravity="center_vertical" />

    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Status"
        android:id="@+id/textViewStatus"
        android:layout_weight="0.2"
        android:layout_gravity="center_vertical" />
</LinearLayout>

4 个答案:

答案 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="vertical"

    >
    <LinearLayout
        android:id="@+id/ll"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum= "6">
         <TextView
        android:layout_width="0dp"

        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Date"
        android:id="@+id/textViewDate"
        android:layout_weight="1.2"
        android:gravity="center" />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="Teams"
            android:id="@+id/textViewTeams1"
            android:gravity="center"
            android:layout_weight="2"/>


        <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Score"
        android:id="@+id/textViewScore"
        android:layout_weight="1.4"
        android:gravity="center"
         />

       <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Status"
        android:id="@+id/textViewStatus"
        android:layout_weight="1.4"
        android:gravity="center"
         />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum= "6">
         <TextView
        android:layout_width="0dp"

        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="12 Feb"
        android:id="@+id/textViewDate1"
        android:layout_weight="1.2"
        android:gravity="center" />
        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="IND VS PAK"
            android:id="@+id/textViewTeams11"
            android:gravity="center"
            android:layout_weight="2"/>


        <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="256"
        android:id="@+id/textViewScore1"
        android:layout_weight="1.4"
        android:gravity="center"
        />

       <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="WIN"
        android:id="@+id/textViewStatus1"
        android:layout_weight="1.4"
        android:gravity="center"
         />
    </LinearLayout>

</LinearLayout>

答案 1 :(得分:1)

将此添加到您的线性布局代码

android:weightSum="0.8" 

答案 2 :(得分:0)

将layout_weight赋予父布局并为子元素赋予权重,并确保layout_weight应为其所有子元素的总重量的总和。将子宽度设为warp_content。

答案 3 :(得分:0)

使用这个:

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

    <TextView
        android:id="@+id/textViewDate"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:text="Date"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <LinearLayout
        android:id="@+id/ll"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textViewTeams1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Teams"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <TextView
            android:id="@+id/textViewTeams2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Teams"
            android:textAppearance="?android:attr/textAppearanceMedium" />
    </LinearLayout>

    <TextView
        android:id="@+id/textViewScore"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="1"
        android:text="Score"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/textViewStatus"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_weight="2"
        android:text="Status"
        android:textAppearance="?android:attr/textAppearanceMedium" />

</LinearLayout>