某些视图不会显示在RelativeLayout中

时间:2017-12-26 21:57:40

标签: android android-relativelayout

我有以下RelativeView。我想要

  • 底部的EditText
  • TextView在顶部 - 我在这里有一个问题 - 它没有显示,但我不明白为什么
  • 2个ListViews - 两者都垂直占据屏幕的一半

请问您看到为什么顶级TextView没有显示?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <EditText
        android:id="@+id/Search"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="text"
        android:layout_alignParentBottom="true">
        <requestFocus />
    </EditText>
    <View android:id="@+id/Placeholder"
        android:layout_height="0dp"
        android:layout_width="0dp"
        android:layout_above="@id/Search"
        android:layout_centerInParent="true"/>
    <ListView
        android:id="@+id/ResultsColumn1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignRight="@id/Placeholder"
        android:layout_above="@id/Search" />
    <ListView
        android:id="@+id/ResultsColumn2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignLeft="@id/Placeholder"
        android:layout_above="@id/Search"/>
    <TextView
        android:id="@+id/InformationTextTop"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/ResultsColumn1"
        android:text="Why is this not visible ?"/>
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

这只是因为ListViewmatch_parent属性中有android:layout_height,而TextView在xml中定义在LinearLayout之后。由于这是一个非常简单的布局,我建议使用<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/InformationTextTop" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_above="@id/ResultsColumn1" android:text="Why is this not visible ?"/> <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"> <ListView android:id="@+id/ResultsColumn1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"/> <ListView android:id="@+id/ResultsColumn2" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"/> </LinearLayout> <EditText android:id="@+id/Search" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="text"> <requestFocus /> </EditText> </LinearLayout> 代替。

__str__