android - 在RelativeLayout布局中layout_above不起作用
PHP中文网
PHP中文网 2017-04-17 15:57:08
0
3
1349

布局文件代码如下:
layout_above没有起作用,listview把textview覆盖了

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

    <ListView
        android:id="@+id/listView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/listView2"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_margin="20dp"
        android:text="TextView" />

</RelativeLayout>

但是在listview中添加属性android:layout_below="@+id/textView1"就没有问题

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(3)
Peter_Zhu

因為wrap_contentListView是不起效的,还是会撑满整个屏幕高度,先写的ListView,屏幕已经无空间了,再加TextView自然是看不见的(而不是覆盖)。还有,严谨的相对id写法应该是android:layout_below="@id/textView1"

洪涛

這樣既可:

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

    <ListView
        android:layout_below="@id/textView1"
        android:id="@+id/listView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_margin="20dp"
        android:text="TextView" />

</RelativeLayout>
PHPzhong

視圖樹是從外向內,從上向下的順序去繪製view,前一個的測量和佈局方法,會影響到後者,所以依賴關係盡量放在前面一個視圖去約束。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板