" Match_parent"的不同行为在LinearLayout和RelativeLayout中 - Android

时间:2014-10-26 14:51:37

标签: android android-layout

与此问题类似 A MATCH_PARENT view inside a WRAP_CONTENT view

一般来说,我理解上述问题的答案。但是,我不能将答案应用于我的设计示例(下面),并且LinearLayoutRelativeLayout容器中的布局行为似乎有所不同。

首先,我使用LinearLayout作为容器viewA,使用Button as child viewB, The viewA is set to be" wrap_content" and viewB being" march_parent" .`结果是左上角的小按钮。

<?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="vertical">

    <!-- container View A -->
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:orientation="vertical">

        <!-- child View B -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="test" />
    </LinearLayout>
</LinearLayout>

enter image description here

然后我尝试了RelativeLayout作为容器视图A,我发现按钮占据了整个窗口。所以我的问题是,在所有布局属性相同的情况下,为什么会出现这样的差异?

<?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="vertical">

    <!-- container View A changed to RelativeLayout -->
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:orientation="vertical">

        <!-- child View B -->
        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="test" />
    </RelativeLayout>
</LinearLayout>

enter image description here

0 个答案:

没有答案