0

キーボードが表示されたときに画面サイズを維持したいのですLayoutが、私の考えは、両方の場合(キーボードの有無にかかわらず)次のものを取得することです:

|-----------------|
| | 画像 |
| | | |
|-----------------|
| | | |
| | センターレイ |
| | | |
|-----------------|
| | | |
| | 画像 |
|-----------------|

しかし、中央のレイアウトにはいくつかEditTextあり、ソフトキーボードが表示されると、中央のレイアウトが高さを減らして短くなり、EditText上の写真に最初にくっつきます。たとえばRelativeLayout、画像を上下に配置するなど、いくつかのフォームを試しましたが、キーボードが表示されると中央のレイアウトが非表示になり、恐ろしい効果が生じます。

これは今までの私のコードです、

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" 
    android:fillViewport="true">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/login_iv_points_top"
            android:layout_width="fill_parent"
            android:layout_height="100dp"
            android:layout_gravity="top"
            android:src="@drawable/image" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:gravity="center_vertical"
            android:orientation="vertical" >

            <EditText
                android:id="@+id/login_et_email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/login_edit_margin_left"
                android:layout_marginRight="@dimen/login_edit_margin_right"
                android:ems="10"
                android:hint="@string/login_et_email"
                android:inputType="textEmailAddress" />

            <EditText
                android:id="@+id/login_et_pass"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginLeft="@dimen/login_edit_margin_left"
                android:layout_marginRight="@dimen/login_edit_margin_right"
                android:layout_marginTop="@dimen/login_edit_pass_margin_top"
                android:ems="10"
                android:hint="@string/login_et_pass"
                android:inputType="textPassword" />

            <Button
                android:id="@+id/login_bt_login"
                android:layout_width="match_parent"
                android:layout_height="@dimen/login_button_height"
                android:layout_marginLeft="@dimen/login_button_margin_left"
                android:layout_marginRight="@dimen/login_button_margin_right"
                android:layout_marginTop="@dimen/login_button_margin_top"
                android:background="@drawable/bt_selectable_degraded_style"
                android:text="@string/login_bt_access"
                android:textColor="@color/bt_text_color" />

            <TextView
                android:id="@+id/login_tv_forgot_pass"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginTop="@dimen/login_forgot_margin_top"
                android:linksClickable="true"
                android:onClick="registerForgotClick"
                android:text="@string/login_tv_forgot_pass"
                android:textColorLink="@color/company_color" />
        </LinearLayout>

        <ImageView
            android:id="@+id/login_iv_points_bottom"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:layout_gravity="bottom"
            android:src="@drawable/image" />
    </LinearLayout>

</ScrollView>
4

3 に答える 3

2

android:windowSoftInputMode="adjustNothing"おそらく、Android マニフェストのアクティビティ ノードを配置してみることができます。キーボードがコンテンツの上にポップします。

于 2013-06-07T08:29:37.330 に答える
0

マニフェストからwindowSoftInputModeを削除すると、スクロールが失われるため、静的な画像がある場合は、これを試すよりも描画可能なリソースからのものを意味します getWindow().setBackgroundDrawableResource(R.drawable.ic_launcher);

于 2015-05-21T07:05:40.077 に答える
0

マニフェスト ファイル内のアクティビティでこれを使用してみてください。

android:configChanges="keyboardHidden|orientation"
android:windowSoftInputMode="adjustPan"
于 2013-06-07T08:56:42.453 に答える