6

私の 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 が機能するようにコーディングする方法はありますか? ありがとう!

4

2 に答える 2

3

windowSoftInputMode次の値を持つプロパティをアクティビティで使用してみてください。

android:windowSoftInputMode="stateAlwaysHidden|adjustResize"

必要かどうかはわかりませんが、レイアウトのScrollViewタグにfillViewPorttoを追加してみてください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>

進捗状況をお知らせください。

于 2012-08-10T00:04:13.647 に答える
1

スクロールビューに相対レイアウトを配置します。子 0 はイメージビューで、子 1 はコンテンツです。スクロールビューの背景ではなく、背景画像 (src) にイメージビューを使用します。imageview は scaleTypes を尊重しますが、レイアウトの背景は尊重しません。

于 2013-02-26T18:28:33.407 に答える