为什么我的2 xml布局在它们相同时不均衡加权?

时间:2012-09-14 04:18:20

标签: android xml layout

在这两种布局中,我的设置相同。 2之间的唯一区别是其中2个中的文本不同。我的文本设置的布局只占据了宽度的25%,但由于文本长度的原因,它会将某些内容搞砸。任何人对如何解决这个问题都有任何想法?

顶部的布局

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

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

            <TextView
                android:id="@+id/textView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView" />

        </LinearLayout>

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


            <TextView
                android:id="@+id/levelOne"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/level_1" />

        </LinearLayout>

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


            <TextView
                android:id="@+id/perLevel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/per_level" />

        </LinearLayout>

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

            <TextView
                android:id="@+id/textView8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView" />

        </LinearLayout>

    </LinearLayout>

就在这下面我有这个布局:

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


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

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView" />

        </LinearLayout>

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

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView" />

        </LinearLayout>

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

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView" />

        </LinearLayout>

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

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView" />

        </LinearLayout>

    </LinearLayout>

1 个答案:

答案 0 :(得分:1)

  1. 您的布局有太多LinearLayout,删除包裹TextView的布局,您不需要它们来获得您想要的布局。
  2. 移除android:width="wrap_content"并将android:layout_width="0dp"android:layout_weight="1"添加到您的所有TextViews
  3. 喜欢:

        <LinearLayout
            android:id="@+id/details"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:baselineAligned="false"
            android:orientation="horizontal" >
    
            <TextView
                android:id="@+id/textView6"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="TextView" />
    
            <TextView
                android:id="@+id/levelOne"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/level_1" />
    
            <TextView
                android:id="@+id/perLevel"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="@string/per_level" />
    
            <TextView
                android:id="@+id/textView8"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="TextView" />
        </LinearLayout>
    
相关问题