我正在开发一个使用相对布局和所有这些东西的Android应用程序...... 结构如下:
<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"
android:isScrollContainer="false"
tools:context=".RegistryHotel" >
<!-- FOOTER BAR -->
<Button
android:id="@+id/buttonRegisterLater"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:background="@drawable/toolbar_register"
android:text="@string/registerLater"
android:textColor="@color/white"
android:textSize="15sp"
android:textStyle="bold" />
<Button
android:id="@+id/buttonRegister"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_above="@id/buttonRegisterLater"
android:layout_marginBottom="2dp"
android:background="@drawable/toolbar_register"
android:text="@string/register"
android:textColor="@color/white"
android:textSize="15sp"
android:textStyle="bold" />
<!-- TITLE -->
<TextView
... />
<!-- NAME -->
<TextView
... />
<EditText
... />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@id/registerFormName"
android:background="@android:color/darker_gray" />
<!-- EMAIL -->
<TextView
... />
<EditText
... />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@id/registerFormName"
android:background="@android:color/darker_gray" />
<!-- HOTEL -->
<TextView
... />
<EditText
... />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@id/registerFormEmail"
android:background="@android:color/darker_gray" />
<!-- TERMS OF SERVICE -->
<LinearLayout
android:id="@+id/linearListAndCheck"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_marginTop="1dp"
android:layout_below="@id/registerFormHotel"
android:layout_above="@id/buttonRegister">
<ListView
android:id="@+id/listPossibleHotels"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="5"
android:layout_marginTop="2dp"
android:background="@color/white"
android:visibility="invisible" />
<TextView
android:id="@+id/registerFormInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="30dp"
android:layout_weight="1"
android:text="@string/registerFormInfo"
android:textSize="13sp"
android:textStyle="bold" />
<CheckBox
android:id="@+id/registerFormTermsOfService"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:checked="true"
android:text="@string/registryTermsOfService" />
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@id/registerFormHotel"
android:background="@android:color/darker_gray"
android:paddingLeft="20dp" />
</RelativeLayout>
问题在于,当我开始在第三个EditText(HOTEL)中编写时,两个按钮都出现在隐藏ListView的SoftKeyboard上方,我必须在那里播放查询结果。 关于这是怎么回事?
非常感谢。
答案 0 :(得分:1)
原因是android:layout_alignParentBottom =&#34; true&#34;。你应该将相对布局转换为linearlayout,对于页脚,你应该使用&#39; android:gravity =&#34; bottom&#34;&#39;
你应该像下面的代码转换为linearlayout
<LinearLayout 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"
android:isScrollContainer="false"
android:orientation="vertical"
tools:context=".RegistryHotel" >
<!-- TITLE -->
<TextView
... />
<!-- NAME -->
<TextView
... />
<EditText
... />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray" />
<!-- EMAIL -->
<TextView
... />
<EditText
... />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray" />
<!-- HOTEL -->
<TextView
... />
<EditText
... />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_below="@id/registerFormHotel"
android:background="@android:color/darker_gray"
android:paddingLeft="20dp" />
<!-- TERMS OF SERVICE -->
<LinearLayout
android:id="@+id/linearListAndCheck"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_marginTop="1dp">
<ListView
android:id="@+id/listPossibleHotels"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="5"
android:layout_marginTop="2dp"
android:background="@color/white"
android:visibility="invisible" />
<TextView
android:id="@+id/registerFormInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="30dp"
android:layout_weight="1"
android:text="@string/registerFormInfo"
android:textSize="13sp"
android:textStyle="bold" />
<CheckBox
android:id="@+id/registerFormTermsOfService"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:checked="true"
android:text="@string/registryTermsOfService" />
</LinearLayout>
<!-- FOOTER BAR -->
<Button
android:id="@+id/buttonRegisterLater"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@drawable/toolbar_register"
android:text="@string/registerLater"
android:textColor="@color/white"
android:textSize="15sp"
android:gravity="bottom"
android:textStyle="bold" />
<Button
android:id="@+id/buttonRegister"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginBottom="42dp"
android:gravity="bottom"
android:background="@drawable/toolbar_register"
android:text="@string/register"
android:textColor="@color/white"
android:textSize="15sp"
android:textStyle="bold" />
</LinearLayout>
之后请不要忘记在下面的活动代码中添加windowSoftInputMode。
<activity
android:name="com.test.MainActivity"
android:configChanges="orientation|keyboardHidden|screenSize|keyboard"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan" >
答案 1 :(得分:0)
在您的特定活动代码的清单中声明此内容。
<activity
android:windowSoftInputMode="adjustPan"
/>