0

アプリの下部にテキストの編集があります。タッチイベントを取得すると、ソフトキーボードがウィンドウ全体を一番上にスクロールして表示されるようになり、EditTextが表示されたままになります。

問題は、ウィンドウがまったくスクロールせず、[テキストの編集] がソフト キーボードの後ろに隠れたままになることがあります。奇妙なことに、その瞬間に何かを押したり、ウィンドウ内の他の要素を操作したりすると、どうやらそれが更新されたり、そのようなものが表示されたりして、正しく上部にスクロールし、編集テキストが表示されるようになります。

私はさまざまなことを試しましたが、これが私の最終コードです:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" 
android:background="@android:color/black">

<my.Custom_Edit_Text
    android:id="@+id/my_custom_edit_text"
    style="@style/my_custom_edit_text_Style"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_centerInParent="true"
    android:maxLength="@integer/data_title_max_length"
    android:text="@string/my_custom_edit_text_default" 
    android:selectAllOnFocus="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:cursorVisible="true"
    android:inputType="text"/>

これは、onTouch イベントを処理する Custom_Edit_Text コードです。

setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
                requestFocus();
            }
            return false;
        }
    });

マニフェスト ファイルでこの属性も設定しました。

android:windowSoftInputMode="stateHidden|adjustPan" 
4

2 に答える 2

1

これを使って

android:configChanges="keyboardHidden|orientation"

android:windowSoftInputMode="adjustPan"

これが役立つかどうかの両方を使用してお知らせください。また、仮想キーボードが問題を引き起こしているレイアウトでスクロールビューを使用することも少し役立ちます

スクロールビューで歪んでいるレイアウト全体を配置します

于 2013-02-14T10:04:40.543 に答える
0

この投稿は私の問題を解決するための手がかりを与えてくれましたhttps://stackoverflow.com/a/5989385/1382250

テキストビューのテキストの編集を変更しようとしましたが、完全に機能するようになりました(すべての場合にウィンドウをスクロールします)。

于 2013-02-14T10:14:45.910 に答える