2017-08-23 17 views
0

キーボードが表示されたときに下部のナビゲーションバーが非表示になるようにビューをアニメーション表示しています。ビューを翻訳する方法は元の開始位置を維持する

私の問題は、下部のナビゲーションバーを翻訳することができ、メインの「メッセージエリア」がそれに続くことができますが、「メッセージエリア」の上部にはギャップが形成されます。翻訳する方法はありますか?しかし、「メッセージエリア」の上部をアクションバーと揃えておきますか?ここ

アニメーションと形成されるギャップの例である: enter image description here

次のように私のアニメーションコードは:

if (lowerNavigationBar.getVisibility() == View.VISIBLE) { 

    lowerNavigationBar.animate() 
      .translationY(lowerNavigationBar.getHeight()).setDuration(1000).start(); 
    viewPager.animate() 
      .translationY(lowerNavigationBar.getHeight()).setDuration(1000).start(); 
    lowerNavigationBar.setVisibility(View.INVISIBLE); 

} 
else{ 

    lowerNavigationBar.setVisibility(View.VISIBLE); 
    lowerNavigationBar.animate() 
      .translationY(0).setDuration(1000).start(); 
    viewPager.animate() 
      .translationY(0).setDuration(1000).start(); 

} 

答えて

0

Iはthis stack overflow answerそこから最初の、二つのテスト終わっ動作したレイアウトの実際の高さを調整しますが、私が好むほど滑らかではありませんでした。

this libraryは、ValueAnimatorsを使用し、さらにスムーズなアニメーションとさらなる機能を提供します。視覚的にはるかに優れた結果が得られ、カスタマイズするのが簡単なので、私はこの図書館に固執しました。

関連する問題