我需要在相对布局中添加一个滚动视图。
当我添加了ScrollView,结果如下http://postimg.org/image/6abxth299/,其中组件只占据了屏幕的一半,并且打开此屏幕时键盘会默认弹出。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scrollbars="vertical" >
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:layout_centerHorizontal="true"
android:id="@+id/data_entry_layout">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Post Title"
android:id="@+id/post_title"
android:layout_alignBaseline="@+id/post_title_input"
android:layout_alignBottom="@+id/post_title_input"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textSize="26px"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/post_title_input"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/post_title"
android:layout_toEndOf="@+id/post_title"
android:inputType="textCapSentences"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Post Description"
android:id="@+id/post_description"
android:layout_below="@+id/post_title_input"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="39dp"
android:textSize="26px"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine|textCapSentences"
android:ems="10"
android:id="@+id/editText"
android:layout_marginTop="16dp"
android:layout_below="@+id/post_description"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"/>
<ImageButton
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageButton1"
android:layout_below="@+id/editText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:baselineAlignBottom="false"
android:contextClickable="true"
android:src="@drawable/image_button_icon"
android:onClick="galleryIntent"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"
android:id="@+id/cancel"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@id/imageButton1"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Submit"
android:id="@+id/submit"
android:layout_alignTop="@+id/cancel"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_below="@id/imageButton1"/>
</RelativeLayout>
</ScrollView>
match_parent
作为RelativeLayout的高度,而应该将其改为wrap_content
。 - Dmitri Timofti