从底部翻译动画速度

时间:2013-09-05 07:45:37

标签: android android-webview android-animation

美好的一天,

我正在尝试实施从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);

这很好用,但问题是我的WebView并不总是有相同的大小。如果它是一个很大的WebView,这会导致它以非常快的速度滑动,如果它相当小,则会相当慢。

我也尝试过使用ObjectAnimator

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

这很好用,但有一个错误会从我inputText的{​​{1}}中移除光标。 (真的很奇怪,找不到任何信息)。然后我仍然可以在WebView中键入文本,但我无法使用退格键删除它:S

所以,我的问题是:我怎样才能确保我的inputText始终以相同的速度滑入,无论Animation的高度如何?

0 个答案:

没有答案