在Android中创建运行时动画
我可以使用如下所示的XML文件在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
<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" />