良い一日、
下から画面に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の からカーソルが削除されるバグがあります。(本当に奇妙です、それに関する情報が見つかりません)。その後、引き続きテキストを入力できますが、バックスペースを使用して削除することはできません:SinputText
WebView
inputText
Animation
だから、私の質問は次のとおりです。私の高さに関係なく、常に同じ速度でスライドするようにするにはどうすればよいWebView
ですか?