为什么没有显示正确的布局?

时间:2015-03-18 16:45:31

标签: java android android-linearlayout android-relativelayout

我正在尝试学习布局 我想要做的布局是:

 ___________________________________________________
|                                                   |
|                    VIEW PAGER                     |
|___________________________________________________|
|                         |                         |
|           TEXT          |           TEXT          |
|_________________________|_________________________|
|            |            |            |            |
|            |    TEXT    |            |    TEXT    |
|    TEXT    |____________|    TEXT    |____________|
|            |            |            |            |
|            |    TEXT    |            |    TEXT    |
|____________|____________|____________|____________|

有人可以帮我理解为什么没有显示视图下的布局的正确部分(评论NEXT INFO CELL之后的那个)以及如何解决它?

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <android.support.v4.view.ViewPager
        android:id="@+id/friend_viewpager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        />
    <LinearLayout
        android:layout_below="@id/friend_viewpager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_weight="1"
    >
    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
        >
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Previous Info"
                />
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_weight="1"
             >
                <EditText
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:editable="false"
                    android:gravity="center"
                    android:text="Bla"
                    />
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">
                    <EditText
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Bla Bla"
                        android:gravity="center"
                    />
                    <EditText
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Bla Bla Bla"
                        android:gravity="center"
                    />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>

<!-- NEXT -->
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >
            <EditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Next Info"
            />
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:layout_weight="1"
            >
                <EditText
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:text="Bla"
                />
                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:orientation="vertical">
                    <EditText
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Bla Bla"
                        android:gravity="center"
                    />
                    <EditText
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Bla Bla Bla"
                        android:gravity="center"
                    />
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

以下是您问题的简化版本。它与外部RelativeLayoutTextView无关。这就是SSCCE对于这个问题的意思。我已经削减了脂肪,但仍然看到了问题。

<?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="match_parent"
    android:orientation="horizontal"
    android:layout_weight="1">

    <View
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="#ffff0000" />

    <!-- NEXT -->
    <View
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="#ff00ff00" />
</LinearLayout>

您正在使用权重不正确,此示例有效:

<?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="match_parent"
    android:orientation="horizontal"
    android:weightSum="2">

    <View
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="1"
        android:background="#ffff0000" />

    <!-- NEXT -->
    <View
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:layout_weight="1"
        android:background="#ff00ff00" />
</LinearLayout>

enter image description here

变为:

enter image description here

答案 1 :(得分:1)

你说他们需要占用相同的空间。 尝试使用
layout_weight =“0.5”
layout_width =“0dp”
对于需要具有相同水平宽度的相同级别子布局。

加入儿童