0

良い一日、

下から画面にAnimationスライドするを実装しようとしています。WebView私のアニメーションxmlファイルのコードは次のとおりです。

slide_in_from_bottom.xml:

<?xml version="1.0" encoding="UTF-8"?>
  <set xmlns:android="http://schemas.android.com/apk/res/android"
      android:fillAfter="true">
    <translate android:fromYDelta="100%" android:toYDelta="0%"
       android:interpolator="@android:anim/accelerate_interpolator" 
       android:duration="700"/>
 </set>

WebViewスライドインをお願いする場所は次のとおりです。

        Animation slideIn = AnimationUtils.loadAnimation(this, R.anim.slide_in_from_bottom);
        slideIn.setAnimationListener(new AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {
                Log.d("animation", "started");
            }

            @Override
            public void onAnimationRepeat(Animation animation) {
            }

            @Override
            public void onAnimationEnd(Animation animation) {
                webView.setVisibility(View.VISIBLE);
                Log.d("animation", "stopped");
            }
        });
        webView.startAnimation(slideIn);

これは問題なく動作しますが、問題は myWebViewが常に同じサイズであるとは限らないことです。これにより、サイズが大きい場合は非常に速くスライドし、サイズWebViewが小さい場合は (比較的) 遅くなります。

私も使ってみましObjectAnimatorた:

ObjectAnimator moveInFromBottom = ObjectAnimator.ofFloat(webView,
          "translationY", 900f, 0f); 
moveInFromBottom.setDuration(700);
moveInFromBottom.start();

これは正常に動作しますが、myの からカーソルが削除されるバグがあります。(本当に奇妙です、それに関する情報が見つかりません)。その後、引き続きテキストを入力できますが、バックスペースを使用して削除することはできません:SinputTextWebViewinputText

Animationだから、私の質問は次のとおりです。私の高さに関係なく、常に同じ速度でスライドするようにするにはどうすればよいWebViewですか?

4

0 に答える 0