但无法弄清楚如何对角地做到这一点.而且我也不确定是否可以通过翻译动画或其他类型的动画来完成.所以请建议我怎么做,或者如果有人能给我一个有用的链接,那么我也会被瞄准.
解决方法 一种方法是使用AnimatorSet一起播放更多的ObjectAnimator.private voID animateDiagonalPan(VIEw v) { AnimatorSet animsetXY = new AnimatorSet(); ObjectAnimator y = ObjectAnimator.offloat(v,"translationY",v.getY(),targetY); ObjectAnimator x = ObjectAnimator.offloat(v,"translationX",v.getX(),targetX); animsetXY.playTogether(x,y); animsetXY.setInterpolator(new linearInterpolator(1f)); animsetXY.setDuration(300); animsetXY.start();}
或者您可以使用自定义视图和自定义属性,但在这种情况下,您需要自己计算X和Y的翻译:
final Property<YourVIEw,float> transproperty = new Property<YourVIEw,float>( float.class,"translation") { @OverrIDe public float get(YourVIEw) { return object.getTranslation(); } @OverrIDe public voID set(YourVIEw,float value) { object.translate(value); }};private voID translate(float value){ setTranslationX(value); setTranslationY(value);}
并使用它来动画:
private voID animateDiagonalPan(VIEw v) { ObjectAnimator xy = ObjectAnimator.offloat(v,transproperty,targetValue); xy.setInterpolator(new linearInterpolator(1f)); xy.setDuration(300); xy.start();}总结
以上是内存溢出为你收集整理的android – 如何在对角线上翻译图像上的动画?全部内容,希望文章能够帮你解决android – 如何在对角线上翻译图像上的动画?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)