2011-08-18 67 views
1

这一直让我疯狂我尝试了各种来自其他帖子的帮助(设置宽度为0dp等),但似乎没有任何工作。布局重量问题

我有2个布局,第一个仍然占主导地位:/。如果我在textviews上添加背景色,它们会自动运行并正确结束。然而,在线性布局背景下,它几乎是屏幕的3/4!?

<?xml version="1.0" encoding="utf-8"?> 
<TableRow xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:id="@+id/rowkRow" 
    android:background="@color/RowBkgColor" android:gravity="center_vertical" 
    android:minHeight="60dp"> 
    <ImageView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" android:id="@+id/rowleftImage" 
     android:padding="3dip" android:gravity="left" android:layout_weight="0" /> 

    <LinearLayout android:orientation="vertical" 
     android:layout_weight="0" android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
     <TextView android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:id="@+id/rowtext1" 
      android:padding="3dip" android:gravity="left" android:typeface="sans" 
      android:textStyle="bold" android:text="First Text" android:textSize="40dp" 
      android:textColor="#FF333344" android:visibility="visible" 
      /> 
     <TextView android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:id="@+id/rowtext3" 
      android:padding="3dip" android:gravity="center" android:typeface="sans" 
      android:textStyle="bold" android:text="First Text" android:textSize="10dp" 
      android:textColor="#FF333344" android:visibility="visible" 
      android:background="#606060" 
      /> 
    </LinearLayout> 

    <LinearLayout android:orientation="vertical" 
     android:layout_weight="1" android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <TextView android:layout_width="fill_parent" 
      android:layout_height="wrap_content" android:id="@+id/rowtext4" 
      android:padding="3dip" android:gravity="right" android:text="Fourth Text" 
      android:textSize="10dp" android:textStyle="bold" android:textColor="@color/RowTextColor" 
      android:visibility="visible" /> 
     <TextView android:layout_width="fill_parent" 
      android:layout_height="wrap_content" android:id="@+id/rowtext2" 
      android:padding="3dip" android:gravity="left" android:text="Second Text" 
      android:textSize="17dp" android:textStyle="bold" android:textColor="@color/RowTextColor" 
      /> 
    </LinearLayout> 

    <ImageView android:id="@+id/rowrightImage" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
     android:padding="3dip" android:layout_weight="0" android:gravity="right" /> 
</TableRow> 
+0

您的LinearLayouts具有'android:layout_width =“wrap_content”'属性,所以我想它们只是按照您询问的方式工作,但要包装的内容不是填满屏幕,而只有3/4。尝试使用“fill_parent”来代替。 – Adinia

回答

8

做下列事情。你可以解决你的问题。

  • 设置儿童android:layout_width“0dp”
  • 设置父
  • 设置了android的android:weightSum:每个孩子的layout_weight比例(如weightSum = "5",三个孩子:layout_weight="1", layout_weight="3", layout_weight="1"
+0

感谢有关weightSum的评论,真的帮了我很多! – icecreamman

+0

谢谢你的工作。 –

+3

@Hussain你应该给用户信贷,我认为你从巫婆复制过去我认为是(Anke)http://stackoverflow.com/questions/2698817/linear-layout-and-weight-in-android – BrainCrash