本文主要是介绍自定义渲染器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、资源导入
2、实现java的渲染器类
import android.view.animation.Interpolator;
public class MyInterceptor implements Interpolator {
@Override
public float getInterpolation(float input) {
//动画前一半时间不断接近目标点
//由于随着input的不断增大,input*input也会越来越大,而且增加幅度会增大
//所以动画的前一半时间内是做加速运动的,而且由于input*input不可能超过0.25
//所以使用该渲染器的View只能完成总路程的1/4,例如,对于移动补间动画,只能移动1/4路程
if(input<=0.5)
return input * input;
//动画后一半不断远离目标点(减速)
else
return (1-input)*(1-input);
}
}
3、写动画
/自定义渲染器(Interpolator)/res/anim/translate.xml
<translate xmlns:android=" http://schemas.android.com/apk/res/android"
android:fromXDelta="0" android:toXDelta="0"
android:fromYDelta="0" android:toYDelta="1550"
android:duration="5000"
/>
4、activity中使用
android:fromXDelta="0" android:toXDelta="0"
android:fromYDelta="0" android:toYDelta="1550"
android:duration="5000"
/>
4、activity中使用
public class TestActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final ImageView iv=(ImageView)findViewById(R.id.iv);
final Animation animation=AnimationUtils.loadAnimation(getApplicationContext(), R.anim.translate);
animation.setInterpolator(new MyInterceptor());
animation.setRepeatCount(Animation.INFINITE);
// iv.setAnimation(animation);
iv.startAnimation(animation);
}
}
这篇关于自定义渲染器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!