2

私はこのように作られたアンドロイドレイアウトを持っています:

--------------
|   IMAGE1   | 
--------------
| SCROLLVIEW |  
--------------
|   IMAGE2   |
--------------

スクロールビューの編集テキストにテキストを入力するためにキーボードがポップアップすると、アプリケーション全体のサイズが変更されます。IMAGE2 を画面の下部に保持する方法はありますか?

アプリケーションのレイアウト:

<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="0dp"
    android:paddingLeft="0dp"
    android:paddingRight="0dp"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".SignupActivity" >

        <ImageView
            android:id="@+id/Logo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="26dp"
            android:src="@drawable/logo_1" />

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:scaleType="centerCrop"
            android:src="@drawable/wave_2" />

        <ScrollView
            android:id="@+id/scrollView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/Logo" >

            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="286dp"
                android:fadingEdge="none"
                android:orientation="vertical"
                android:paddingBottom="30dp" >

                <EditText
                    android:id="@+id/editName"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/name" />

                <EditText
                    android:id="@+id/editSurname"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/surname" />

                <EditText
                    android:id="@+id/editCompany"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/company" />

                <Space
                    android:layout_width="match_parent"
                    android:layout_height="20dp" />

                <EditText
                    android:id="@+id/editUsername"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/username" />

                <EditText
                    android:id="@+id/editPassword"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/password"
                    android:inputType="textPassword" />

                <EditText
                    android:id="@+id/editMail"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/mail"
                    android:inputType="textEmailAddress" />

                <Space
                    android:layout_width="match_parent"
                    android:layout_height="20dp" />

                <EditText
                    android:id="@+id/editAddress"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/address" />

                <EditText
                    android:id="@+id/editZipCode"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/zipcode" />

                <EditText
                    android:id="@+id/editCity"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/city" />

                <EditText
                    android:id="@+id/editCountry"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/country" />

                <EditText
                    android:id="@+id/editPhone1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/phone" />

                <EditText
                    android:id="@+id/editPhone2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_horizontal"
                    android:ems="10"
                    android:hint="@string/mobilephone" />

                <Space
                    android:layout_width="match_parent"
                    android:layout_height="20dp" />

                <Button
                    android:id="@+id/acceptButton"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:onClick="signup"
                    android:layout_gravity="center_horizontal"
                    android:text="@string/register" />

            </LinearLayout>
        </ScrollView>

</RelativeLayout>

編集:

実際のレイアウトはこんな感じ。ScrollView のサイズを変更して使用できるようにしながら、ページの最後 (キーボードの下) に緑色の波の画像を保持したいと考えています。

http://i.stack.imgur.com/ji1FB.png http://i.stack.imgur.com/D4jcX.png

4

3 に答える 3

2

アクティビティタグのマニフェストにこの行を追加すると、これが機能する可能性があります

    <activity
        android:name=".DemoActivity"
        android:windowSoftInputMode="stateHidden|adjustResize" >
    </activity>
于 2013-09-17T12:28:49.753 に答える
0

問題は、あなたButtonがの一部であることScrollViewです。次のように属性を変更して、 と 親Buttonからプルする必要があります。ScrollViewRelativeLayout

<Button
    android:id="@+id/acceptButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" //keep it to the bottom of the layout
    android:onClick="signup"
    android:layout_gravity="center_horizontal"
    android:text="@string/register" />

次にScrollView、変更も必要になります。

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/Logo"
    android:layout_above="@+id/acceptButton" //make it stay above the button
    >

を使用していることを考えるとandroid:windowSoftInputMode="adjustResize"、これにより正しい動作が得られるはずです。

編集:背景をそのままにしておきたい場合は、その画像をテーマに設定してみwindowBackgroundてください。(たとえば、使用するテーマにActivity追加します)。android:windowBackground="@drawable/my_background_image"Activity

于 2013-09-17T18:41:38.697 に答える