【问题标题】:Android translate animation move to absolute positionAndroid翻译动画移动到绝对位置
【发布时间】:2016-02-04 04:05:27
【问题描述】:

有没有办法告诉平移动画始终移动到绝对位置,而不是相对于卡片的位置。据我所知,使用 android:toXDelta 只会将其移动到相对位置。我希望它从屏幕上的每个点移动到一个绝对位置(比如说屏幕宽度 / 2 和屏幕高度 / 2)。

我的动画:

<translate xmlns:android="http://schemas.android.com/apk/res/android"
           android:interpolator="@android:anim/accelerate_decelerate_interpolator"
           android:duration="1000"
           android:fromXDelta="0"
           android:fromYDelta="0"
           android:toXDelta="-20%p"
           android:toYDelta="-20%p" />

【问题讨论】:

    标签: android animation android-animation interpolation


    【解决方案1】:

    从官方Documentation来看,XML 是不可能的。 但是,您可以在 Java 代码中执行此操作。示例:

        view.animate().translationX(0f).translationY(0f).setInterpolator(new AccelerateDecelerateInterpolator()).start();
    

    TranslationXTranslationY 动画到一个绝对位置。还有 TranslationXByTranslationYBy 相对动画。

    【讨论】:

    • 那么我将如何在 Java 中做到这一点?我听说你可以使用TranslateAnimation,但它可以与我现有的 xml 代码一起使用吗?
    • 您是否要为视图设置动画?
    • 是的,我正在尝试使用上面的 xml 代码加速/减速我的视图。到目前为止它可以工作,但我无法让它移动到绝对位置,而是移动到相对于视图的位置
    • 用一个例子编辑了我的答案。
    • 所以translationX 会是像素的绝对翻译吗?所以如果我想从任何位置动画到 200 200 我只会使用 200f 作为参数?
    猜你喜欢
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2015-04-19
    • 2014-06-14
    • 2012-04-13
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多