1

我不知道为什么如果我在 LinearLayout 的顶部放置一个按钮,然后在其下方放置一个视图,我可以看到该按钮。但是,如果我将按钮放在视图下方,视图会覆盖它。

例如,使用顶部的按钮,一切都是可见的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />


    <View
        android:id="@+id/view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

但是如果将按钮放在视图下方,则只能看到视图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <View
        android:id="@+id/view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />


    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

为什么是这样?我怎样才能看到不覆盖放在它下面的东西?

4

2 回答 2

0

这是因为您的视图是自定义视图和所有布局/视图的根,例如 LinaerLayout,Relative Layout,Table Layout,Absolute Layout 。所以 child iew (在您的情况下,线性布局不能对视图施加约束),而您的自定义视图没有直到现在还决定了它的宽度和高度,如果你在某个类中自定义它并在 onMeasure 中给出它的宽度和高度,那么在运行时按钮将出现在它的下方。

于 2012-04-30T07:59:55.320 回答
0

我怎样才能看到不覆盖放在它下面的东西?

通过给你View一个高度。这

<View
    android:id="@+id/view1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

标签定义不明确,无法呈现。看起来Android正在把它变成

<View
    android:id="@+id/view1"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent" />

并因此将您推Button到窗外。

于 2012-04-30T07:49:27.103 回答