2016-06-14 8 views
2

ソフトキーボードを私のレイアウトのビューに置き換える必要があります。キーボードをフリッカーのない別のビューに置き換えるにはどうすればいいですか?

キーボード上にPopupWindowを表示する必要はありません。

私はビューを持っています(その高さはキーボードと同じです)。それは画面の下部に配置されます。私はキーボードを表示しているときにそれを隠しています。キーボードが消えたときにそれを表示します。

問題は、キーボードが表示される(または非表示になる)前に、ビューが0.5秒間ジャンプ(点滅)していることです。

toggleButton.setOnClickListener(v -> { 
    if (picker.getVisibility() == View.VISIBLE) { 
     showKeyboard(); 
     picker.setVisibility(View.GONE); 
    } else { 
     hideKeyboard(); 
     picker.setVisibility(View.VISIBLE); 
    } 
}); 

ピッカーの表示とキーボードの両方を切り替えた後に、ある種の「バッチレイアウト」が必要です。ここで

は、問題のビデオデモです:

https://www.youtube.com/watch?v=0jPVX22C86s

答えて

0

あなたは親のレイアウトの内側android:animateLayoutChanges="false"を設定する必要があります。

または、キーボードを非表示にする必要があるビューのmainLayoutにOnTouchListenerを設定する必要があります。

+0

質問があった - どのようにちらつきを避けるために?私はアニメーションを全く持っていません。 –

+0

ええ、私はあなたの質問があるが、そのデフォルトのフリッカー。あなたがそれを変更する必要があるように。 – KishuDroid

+0

ねえ、ビデオデモを追加しました。それはあなたが問題を理解するのに役立ちます –

関連する問題