Android 视图组匹配\u父对象内部换行\u内容

Android 视图组匹配\u父对象内部换行\u内容,android,android-layout,android-relativelayout,viewgroup,android-wrap-content,Android,Android Layout,Android Relativelayout,Viewgroup,Android Wrap Content,有一个带有wrap_内容布局参数的线性布局。我在它里面有几个带有match_parent参数的视图。让我们看一下。 案例1: <LinearLayout android:layout_width="wrap_content" android:layout_height="match_parent" android:background="#990000" android:orientation="vertical"> <Relative

有一个带有wrap_内容布局参数的线性布局。我在它里面有几个带有match_parent参数的视图。让我们看一下。

案例1:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="#990000"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:background="#004400">
    </RelativeLayout>
</LinearLayout>

案例2:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="#990000"
    android:orientation="vertical">

    <Button
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:text="What a terrible failure!"
        android:background="#009900"/>
</LinearLayout>

案例3:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="#990000"
    android:orientation="vertical">

    <View
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:background="#000099"/>
</LinearLayout>

以下是预期的行为。视图已绘制。 我不能发布第三张图片,因为我的声誉低于10。谢谢!:)

所有示例都在真实设备上进行了测试,而不仅仅是在android studio预览中

从android开发->API指南->用户界面->布局: wrap_content-告诉视图将自身大小调整为其内容所需的尺寸

考虑第二种情况。我仍然可以理解按钮有内容,父视图只接受按钮文本和填充-它是“内容”

但是第一个案例呢?孩子清楚地说:“我想和父母一起画。”。 我知道RelativeLayout没有子容器,但是它不应该打扰父容器,或者应该吗

或者,如果Android试图通过请求“内容大小”(OnMeasure)来降低级别,那么为什么我们需要设置宽度呢。如果它这么聪明,为我决定一切


这里到底发生了什么?我不明白。为什么它会心痛?

它不会烦人的。在第一种情况下,子项的宽度将与其父项的宽度相同,因为您将其“匹配父项”设置为“换行内容宽度父项”。并且子对象的高度将与父对象的高度一样小/更大,因为您为高度指定了精确的值

关于宽度:在案例3中,为其他案例添加相同的条件高度,而不是第一个案例。所有案例与案例3相同。正如你所说的,我只是指在案例2,3中为了清晰起见插入的高度。这并不重要。关于宽度,你没有回答任何新问题。我自己也看到了这些参数。我知道这是什么意思。我感到困惑,因为我无法理解这些例子的总体逻辑。他们互相矛盾。我可以接受关于相对论的空洞内容的论点。但是按钮和视图有区别(为什么?覆盖测量效果?)。我知道按钮是一个文本视图是一个视图。有一个案例3的屏幕