Android布局textview和listview相结合

时间:2011-09-17 00:44:14

标签: android android-layout android-listview

我正在尝试布局家庭自动化应用。屏幕的上半部分将是自定义状态文本(车库门是OPEN,系统是DISARMED等)。在状态文本下将有一个刷新链接/按钮/列表项。用户可以单击以刷新状态文本的内容。在底部将是一个列表视图,它将链接到其他页面和指向“安全页面”或“关闭车库门”等操作的链接。我的问题是,如何配置布局?我已经尝试了几个LinearLayouts,RelativeLayouts,嵌套布局等,到目前为止还没有工作。 这是我现在的main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout        
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" >
        <TextView 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:id="@+id/statustext">
        </TextView>
    </LinearLayout>
    <LinearLayout 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" >
        <TextView 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:id="@+id/refresh">
        </TextView>
    </LinearLayout>
    <LinearLayout 
        android:orientation="vertical" 
        android:gravity="center_horizontal" 
        android:layout_height="fill_parent" 
        android:layout_width="fill_parent">
        <ListView 
            android:layout_width="fill_parent" 
            android:id="@android:id/list" 
            android:layout_height="wrap_content">
        </ListView>
    </LinearLayout>
</LinearLayout>

刷新链接可能只是列表视图的一个项目,但我想以不同的方式设置它,以便它突出显示,例如不同的颜色字体或背景。或者它可以是一个按钮。但它需要在statustext和itemlist之间。一切都应该作为一个单元滚动。

这可能吗? My Layout

2 个答案:

答案 0 :(得分:1)

这有效吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ScrollView android:id="@+id/ScrollView01"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">

   <LinearLayout android:gravity="center|center_vertical"
    android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent">
    <TextView 
            android:gravity="center_horizontal"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:text="status" 
        android:id="@+id/statustext">
    </TextView>
    <TextView 
            android:gravity="center_horizontal"
        android:layout_height="wrap_content"
        android:text="refresh"
        android:id="@+id/refresh" android:layout_width="fill_parent" android:layout_gravity="fill_horizontal">
    </TextView>
    <ListView 
            android:gravity="center_horizontal"
        android:layout_width="fill_parent" 
        android:id="@android:id/list" 
        android:layout_height="wrap_content">
    </ListView>
    </LinearLayout>
    </ScrollView>
</LinearLayout>

如果您想要滚动条,请使用ScrollView来扭曲所有子项。但是ScrollView它自己只能容纳一个直接的孩子,所以你需要用LinearLayout来包装它们,里面有你想要的一切。

答案 1 :(得分:1)

将状态文本内容添加到listheaderview.here是其链接。 Android listview with header and footer buttons 这样,整个列表将与您的状态文本一起滚动。