当内容高于屏幕高度时,如何将ListView和TextView作为一个单元滚动?

时间:2010-10-11 20:47:23

标签: java android xml user-interface

我有一个主菜单屏幕,其中包含一个简单的ListView,其中包含指向我应用中其他屏幕的“链接”(浏览,书签,设置,关于等)。在ListView下面有一个TextView(更准确地说,是一个旋转TextViews的TextSwitcher),它每10秒更改一次,以显示一个新的“提示”。 alt text

在纵向模式下,此功能正常。 ListView中有五个列表项,下面是我的提示标签。但是,当我切换到横向模式时,ListView比屏幕更高。 ListView正常滚动,但我无法滚动到ListView的末尾以查看下面的TextView。

我已经尝试过Layouts,wrappers,ScrollViews和layout_height参数的所有可能组合,但我根本无法让它表现出来。

以下是我可以用来获得上图结果的最简单的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content" android:orientation="vertical"
    android:layout_height="fill_parent">
    <LinearLayout android:id="@+id/ListLayout"
        android:layout_width="fill_parent" android:layout_height="wrap_content">
        <ListView android:id="@id/android:list" android:layout_width="fill_parent"
            android:layout_height="wrap_content" android:layout_weight="1">
        </ListView>
    </LinearLayout>
    <LinearLayout android:id="@+id/TipLayout"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_below="@+id/ListLayout">
        <TextSwitcher android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:id="@+id/TipSwitcher">
            <TextView android:layout_width="wrap_content"
                android:layout_height="wrap_content" android:textSize="7pt"
                android:id="@+id/Tip1TextView" android:text="Tip: Hello, Android!"></TextView>
            <TextView android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Tip: This is the second TextView in the TipSwitcher!"
                android:id="@+id/Tip2TextView" android:textSize="7pt"></TextView>
        </TextSwitcher>
    </LinearLayout>
</RelativeLayout>

就像我说的那样,我已经尝试了很多不同的组合,我无法列出它们,而且大部分时间我都是随机插入XML以试图以我想要的方式工作。因此,我非常感谢有关如何以正确的方式做到这一点的建议。

感谢。

编辑:我忘记提及的事情,这可能是也可能不相关。我的MainMenuActivity正在扩展ListActivity。根据文档,“ListActivity有一个默认布局,由屏幕中心的单个全屏列表组成。”但是,“如果您愿意,可以通过在onCreate()中使用setContentView()设置自己的视图布局来自定义屏幕布局。”所以我认为ListActivity不会干扰。

1 个答案:

答案 0 :(得分:2)

TextSwitcher放入ListView本身。您可以使用addFooterView()