1

を非表示にするとき、私は同様に、ユーザープレスバックまたはボタンを行って、私は、キーボードが表示されているときが支払いボタンなど底面図に進んで隠れていたにアンドロイドレイアウトで働いていますジャークを避けてくださいキーボードのキーボードで、今私は following solluationを使用していますし、その罰金働いしかし、問題は、キーボード皮がそれのようにジャークを取るときであるキーボードの可視性を確認するには、また、私はアドレス保存ボタンを示していますボトムビューを時間を意味非表示になりますレイアウトrecizeアンドロイド:ソフトキーボード

キーボードを表示するレイアウト次いで、グリッチが layoutとして発生する場合 above codeに示すように、0

  @Override 
      public void onSoftKeyboardClosed() { 
       mBinding.activityRoot.postDelayed(new Runnable() { 
        @Override 
        public void run() { 
         mBinding.actionProceedToPayment.setVisibility(View.VISIBLE); 
         mHomeActivityImplementation.handleBottomTabs(true); 
        } 
       }, 100); 
      } 

下記に示すが、それでも同じ問題に直面したように、私はonPostDelay()を使用し、これを回避するために、サイズ変更されます。私もCountDownTimer()を適用しますが、問題は解決していません。このジャークを避ける方法はありますか?

答えて

2

キーボードが隠れている、または表示されているときにレイアウトがレンダリングされ、その高さが調整されていて、クロック速度とフレームレートがそれぞれ異なるプロセッサとGPUを持つ異なるデバイスがあるため、いくつかのデバイスではジャークがなく、デバイスによってはマイナージャークがあり、デバイスに搭載されているプロセッサとGPUによって異なります。

キーボードの非表示と表示中に表示したり隠したりしているアニメーションをビューに追加することができます。これにより、ジャークを少し滑らかにします。

3

SoftKeyboardStateWatcherは信頼性の低いライブラリです。必要な機能はAndroidフレームワークに公開されていません。それは推測ですが、それが間違っていて、そうでないときにはキーボードが存在するという多くの状況があり、その逆もあります。そのクラスに依存するコードはすべてバグになります。どのようにうまく動作するかは、デバイス、OSのバージョン、使用されているキーボードなどによって異なりますので、私の提案はこのタイプの機能を提供しないことです。キーボードが表示されたときのその推測は、キーボードの拡張が完了した後でなければ通知しません。キーボードが変わるまで待ってから、追加の変更を加えます。それは常にジャークを引き起こします。あなたができる唯一のことは、可視性を設定するのではなく、ボタンをアニメートすることです。

+0

私は@Gabe Sechan +1に同意します –

関連する問題