我的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仍能正常工作?谢谢!
答案 0 :(得分:3)
尝试在您的活动中使用具有以下值的属性windowSoftInputMode
:
android:windowSoftInputMode="stateAlwaysHidden|adjustResize"
我不知道是否有必要,但您可以尝试将ScrollView
标记fillViewPort
添加到true
到<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true">
<!-- Other Views -->
</ScrollView>
。
所以它应该看起来像我在下面给你看的东西:
{{1}}
让我知道你的进展。
答案 1 :(得分:1)
在您的滚动视图中放置相对布局,子0是图像视图,子1是您的内容。使用imageview作为背景图像(src)而不是scrollview的背景。 imageview将尊重scaleTypes,而布局的背景则不会。