我正试图在列表视图的顶部放置一个横幅,当列表向下滚动时,横幅保持在那里。我目前的布局实际上在预览中显示了我想要的内容,但是当我在模拟器中运行它时,唯一出现的就是列表。
XML是:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:src="@drawable/edinburghcrest"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:id="@+id/EdUniCrest" android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"></ImageView>
<TextView android:layout_height="wrap_content" android:id="@+id/banner"
android:text="Hotels Nearby" android:textColor="#FFFFFF"
android:gravity="center" android:textSize="20dp" android:layout_width="wrap_content"
android:layout_alignParentTop="true" android:layout_toRightOf="@+id/EdUniCrest"
android:layout_alignParentRight="true" android:layout_alignBottom="@+id/EdUniCrest"
android:background="#25476C"></TextView>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="@color/listcolor" android:orientation="vertical" android:layout_marginTop="50dp">
<ListView android:id="@android:id/list" android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
<TextView android:id="@android:id/empty" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/no_lunchs" />
</LinearLayout>
无论如何,我不明白为什么它不起作用。有谁知道它可能是什么?
感谢。
答案 0 :(得分:1)
这里的RelativeLayout让人感到困惑。您只需使用几个LinearLayouts即可实现此目的。使用height = wrap_content将横幅包裹在水平布局中,并将ListView设置为height = fill_parent。该列表将填充所有可用空间。列表将独立于页面的其余部分滚动。
下面的内容应该有效:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout android:orientation="horizontal" android:id="@+id/bannerBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView android:src="@drawable/edinburghcrest"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:id="@+id/EdUniCrest"/>
<TextView android:layout_height="wrap_content" android:id="@+id/banner"
android:text="Hotels Nearby" android:textColor="#FFFFFF"
android:gravity="center" android:textSize="20dp" android:layout_width="wrap_content"
android:background="#25476C"/>
</LinearLayout>
<ListView android:id="@android:id/list" android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<TextView android:id="@android:id/empty" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:text="@string/no_lunchs" />
</LinearLayout>
答案 1 :(得分:0)
如果您将RelativeLayout
包裹在ScrollView
中,并且由于ScrollView
只能有一个孩子,请将横幅置于其上方,该怎么办?