LinearLayout WeightSum无法按预期工作

时间:2015-03-20 14:47:59

标签: android android-layout

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MasterLayout"
android:orientation="vertical"
android:background="#ffffff"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="4000">
<View
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="200"
android:visibility="invisible" />
<TextView
android:id="@+id/Name"
android:text="James Madison"
 android:layout_gravity="center"
android:textColor="#4b8dcf"
android:textSize="24dp"
android:layout_height="0dp"
android:layout_weight="300"
android:layout_width="wrap_content"
android:background="#00000000" />
<ImageView
android:id="@+id/Image"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1000"
android:layout_gravity="center"
android:src="@drawable/pro1" />
<TextView
android:id="@+id/Title"
android:text="Lead Civil Engineer"
android:textColor="#4b8dcf"
android:layout_gravity="center"
android:textSize="16dp"
android:layout_height="0dp"
android:layout_weight="150"
android:layout_width="wrap_content"
android:background="#00000000" />
<TextView
android:id="@+id/Company"
android:text="Telco Corp"
android:textColor="#4b8dcf"
android:layout_gravity="center"
android:textSize="16dp"
android:layout_height="0dp"
android:layout_weight="175"
android:layout_width="wrap_content"
android:background="#00000000" />
<TextView
android:id="@+id/Pitch"
android:text="Engineer specializing in bridge construction and maintenance. Looking for mechanical engineers and designers to work on an exciting new project."
android:textColor="#A7A9AB"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:gravity="center"
android:textSize="16dp"
android:layout_height="0dp"
android:layout_weight="1000"
android:layout_width="wrap_content"
android:background="#00000000" />
<View
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="100"
android:visibility="invisible" />
<LinearLayout
android:id="@+id/TagMasterLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="500">

<LinearLayout
android:id="@+id/TagLayout"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/user"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginLeft="5dp"
android:gravity="center"
android:src="@drawable/profile" />
</LinearLayout>
</LinearLayout>

<LinearLayout
android:id="@+id/GreenTagMasterLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="500">
<LinearLayout
android:id="@+id/GreenTagLayout"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/mainLogo"
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_marginLeft="5dp"
android:gravity="center"
android:src="@drawable/profile" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

这是我布局的开始部分。该视图应该只占我屏幕的1/20高度。但它占据了近80%的屏幕。我无法弄清楚我做错了什么。有人可以指出

2 个答案:

答案 0 :(得分:0)

你必须为layout_weight使用相同的“type”(int或float)。仅使用int:

尝试此操作
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/MasterLayout"
android:orientation="vertical"
android:background="#ffffff"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="4000">
<View
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="200"
    android:background="#ff0ff000"
    android:visibility="visible" />
<TextView
    android:id="@+id/Name"
    android:text="James Madison"
    android:layout_gravity="center"
    android:textColor="#4b8dcf"
    android:textSize="24dp"
    android:layout_height="0dp"
    android:layout_weight="300"
    android:layout_width="fill_parent"
    android:background="#ff0ff000" />
<ImageView
    android:id="@+id/Image"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="1000"
    android:layout_gravity="center"
    android:src="@drawable/pro1" />
<TextView
    android:id="@+id/Title"
    android:text="Lead Civil Engineer"
    android:textColor="#4b8dcf"
    android:layout_gravity="center"
    android:textSize="16dp"
    android:layout_height="0dp"
    android:layout_weight="150"
    android:layout_width="wrap_content"
    android:background="#00000000" />
<TextView
    android:id="@+id/Company"
    android:text="Telco Corp"
    android:textColor="#4b8dcf"
    android:layout_gravity="center"
    android:textSize="16dp"
    android:layout_height="0dp"
    android:layout_weight="175"
    android:layout_width="wrap_content"
    android:background="#00000000" />
<TextView
    android:id="@+id/Pitch"
    android:text="Engineer specializing in bridge construction and maintenance. Looking for mechanical engineers and designers to work on an exciting new project."
    android:textColor="#A7A9AB"
    android:layout_marginLeft="20dp"
    android:layout_marginRight="20dp"
    android:gravity="center"
    android:textSize="16dp"
    android:layout_height="0dp"
    android:layout_weight="1000"
    android:layout_width="wrap_content"
    android:background="#00000000" />
<View
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="100"
    android:visibility="invisible" />
<LinearLayout
    android:id="@+id/TagMasterLayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="500">

    <LinearLayout
        android:id="@+id/TagLayout"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/user"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_marginLeft="5dp"
            android:gravity="center"
            android:src="@drawable/profile" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/GreenTagMasterLayout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="500">
    <LinearLayout
        android:id="@+id/GreenTagLayout"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/mainLogo"
            android:layout_width="25dp"
            android:layout_height="25dp"
            android:layout_marginLeft="5dp"
            android:gravity="center"
            android:src="@drawable/profile" />
    </LinearLayout>
</LinearLayout>
<View
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="75"
    android:visibility="invisible" />

答案 1 :(得分:0)

您的XML中只应有一个根元素。

所有内容都应该包含在您最初的LinearLayout&#34; MasterLayout&#34;中。