为什么android:layout_above不起作用

时间:2015-01-05 13:20:11

标签: java android layout

我有这个布局

    <ListView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/comments_list" android:layout_gravity="center"
            android:layout_below="@+id/phone_editText" android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" android:layout_above="@+id/bottom_container"
            android:layout_alignRight="@+id/search_btn" android:layout_alignEnd="@+id/search_btn"/>
    <AutoCompleteTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/phone_editText"
            android:hint="enter phone"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"/>
    <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="blocked"
            android:id="@+id/isBlocked_cb"
            android:layout_toStartOf="@+id/phone_editText"
            android:layout_toLeftOf="@+id/phone_editText"
            android:layout_above="@+id/comments_list"
            android:checked="true" android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"/>
    <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="search"
            android:id="@+id/search_btn"
            android:layout_toEndOf="@+id/phone_editText"
            android:layout_toRightOf="@+id/phone_editText"
            android:layout_above="@+id/comments_list"
            android:layout_alignParentTop="true" android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true" android:onClick="foo"/>

    <RelativeLayout android:id="@+id/bottom_container"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
            android:layout_alignParentBottom="true">
        <AutoCompleteTextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/comment_text"
                android:hint="enter comment"
                android:layout_alignParentBottom="true" android:layout_centerHorizontal="true"/>

        <Button style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:text="Add" android:id="@+id/add_btn"
                android:layout_alignParentBottom="true"
                android:layout_toRightOf="@+id/comment_text" android:layout_alignTop="@+id/comment_text"/>
    </RelativeLayout>
    <LinearLayout
            android:focusable="true" android:focusableInTouchMode="true"
            android:layout_width="0px" android:layout_height="0px"/>
</RelativeLayout>

我希望bottom_container低于我的ListView

但在模拟器中他们似乎一个在另一个之上:

enter image description here

1 个答案:

答案 0 :(得分:0)

您的问题非常不完整,但我发现您的xml中有一些关于“上方”

的潜在错误

例如

android:layout_above="@+id/comments_list"
        android:layout_alignParentTop="true" android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" android:onClick="foo"/>

这是一个错误,你不能声明对齐父顶部和结束顶部...而且无论如何,如果我是对的,那些ovverride layout_above。