【发布时间】:2010-12-01 22:19:12
【问题描述】:
我需要一个比屏幕大的用户表单。布局由固定的“标题区域”、表单(可能在滚动视图中)和底部的按钮组成。我已经创建了三个布局,中间布局是一个带有垂直方向 LinearLayout 的 ScrollView。不幸的是,表单将按钮推离了屏幕?!
有没有一个简单的例子可以做到这一点?
我想我可以使用 ListView,但我认为我的 ScrollView 更易于管理。这是我的布局...
<?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"
>
<!-- Title Area on top -->
<LinearLayout
android:id="@+id/layout_form"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dip"
android:layout_marginBottom="0dip"
android:paddingTop="20dip"
android:paddingBottom="20dip"
android:paddingLeft="5dip"
android:paddingRight="10dip"
android:src="@drawable/logo"
android:layout_gravity="center"
android:layout_weight="1"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2"
android:layout_marginTop="0dip"
android:layout_marginBottom="0dip"
android:layout_marginLeft="4dip"
android:layout_marginRight="4dip"
android:text="@string/title_create"
/>
</LinearLayout>
<!-- Form entry on top -->
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:clipChildren="true"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="8dip"
android:layout_marginRight="8dip"
android:text="@string/label_field_one"
/>
<EditText
android:id="@+id/edit_field_one"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:hint="@string/hint_field_one"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="8dip"
android:layout_marginRight="8dip"
android:text="@string/label_field_two"
/>
<EditText
android:id="@+id/edit_field_two"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:hint="@string/hint_field_two"
/>
<!-- Repeat label-text and edit-text until done ... -->
</LinearLayout>
</ScrollView>
<!-- "spring" between form and wizard buttons. -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
/>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="2"
>
<Button
android:id="@+id/btn_submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
android:text="@string/button_submit"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
【问题讨论】:
标签: android forms layout scrollview