我的 Android 应用程序的主要活动如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:orientation="vertical" >
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical"
android:paddingLeft="60dp"
android:paddingTop="53dp" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/billAmountText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/billAmount_string"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/billAmount"
android:layout_width="173dp"
android:layout_height="wrap_content"
android:layout_below="@id/billAmountText"
android:layout_marginTop="3dp"
android:inputType="numberDecimal" />
</RelativeLayout>
</ScrollView>
</RelativeLayout>
为了确保在键盘弹出时背景图像(在第一个 RelativeLayout 中定义)不会被挤压,我android:windowSoftInputMode="stateVisible|adjustPan
在清单文件中为我的活动设置。现在背景和布局都很好,没有任何东西可以调整大小。
但问题是我的 ScrollView 现在不起作用,因为我想系统认为由于我对清单的上述修改而不需要调整窗口大小 - 所以 ScrollView 没有被激活。当我取出时会发生相反的情况android:windowSoftInputMode="stateVisible|adjustPan
,滚动有效,但是当键盘弹出时背景会被挤压。
有什么方法可以对其进行编码,这样我的背景就不会被挤压,而且我的 ScrollView 仍然可以工作?谢谢!