我正在尝试布局家庭自动化应用。屏幕的上半部分将是自定义状态文本(车库门是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之间。一切都应该作为一个单元滚动。
这可能吗?
答案 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 这样,整个列表将与您的状态文本一起滚动。