在Android中创建运行时动画

在Android中创建运行时动画,android,Android,我可以使用如下所示的XML文件 <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <translate android:fromXDelta="100%" android:toXDelta="0%" android:duration="500" /> &l

我可以使用如下所示的XML文件

<set xmlns:android="http://schemas.android.com/apk/res/android" 
     android:interpolator="@android:anim/decelerate_interpolator">

 <translate android:fromXDelta="100%" android:toXDelta="0%" android:duration="500" />

</set>

并从如下代码中加载此xml AnimationUtils.loadAnimation(mContext,com…..R.anim.slidein)

一切正常

但现在出于某种原因,我需要在不使用XML的情况下做同样的事情 如何仅使用代码创建相同的动画 我试过这样的东西

TranslateAnimation in = new TranslateAnimation(1.0f,0.0f,0.0f,0.0f); in.setInterpolator(AnimationUtils.loadInterpolator(mContext, android.R.anim.accelerate_interpolator)); in.setDuration(500); TranslateAnimation in=新的TranslateAnimation(1.0f,0.0f,0.0f,0.0f); 在.setInterpolator(AnimationUtils.loadInterpolator)(mContext, android.R.anim.accelerate_插值器); in.setDuration(500); 但是没有起作用,什么都没有


我认为问题在于百分比,在xml中我指定了百分比,但在TranslateImation构造函数中我如何指定百分比

你是对的。使用的构造函数创建具有绝对值(像素)的动画。你需要使用。例如:

TranslateAnimation in = new TranslateAnimation(
    Animation.RELATIVE_TO_SELF, 1.0f,
    Animation.RELATIVE_TO_SELF, 0.0f, 0, 0.0f, 0, 0.0f);
用第一个和第三个参数进行实验。尝试使用Animation.RELATIVE\u TO\u PARENT来满足您的需要。

试试这个(使用百分比“p”):



向我们展示XML文件和更多源代码什么意思不起作用?不播放动画?如何将动画应用于视图?小提示:在XML中使用DecelerateInterpolator,但在代码中使用AccelerateInterpolator。很抱歉,我没有发布更多信息,视图根本没有动画,我意识到插值器,但我认为这并不重要,因为它根本没有动画
 <translate android:fromXDelta="100%p" android:toXDelta="0%p" android:duration="500" />