我有两个片段,我想交换之间使用卡翻转动画。
以下是我的动画文件之一:
<?xml version="1.0" encoding="utf-8"?>
<set>
<!-- Rotate. -->
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:valueFrom="0"
android:valueTo="180"
android:propertyName="rotationY"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:duration="@integer/card_flip_time_full" />
<!-- Half-way through the rotation (see startOffset), set the alpha to 0. -->
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:valueFrom="1.0"
android:valueTo="0.0"
android:propertyName="alpha"
android:startOffset="@integer/card_flip_time_half"
android:duration="1" />
</set>我有4份这样的文件。它们几乎都是直接从这个Google上拿出来的。我有一个最小的sdk为8,所以我使用强烈推荐的九个老仙女座库。但是,我仍然收到以下错误:Uknown animation name: objectAnimator。我可以在我的java文件中导入用于objectAnimator的包,所以我非常肯定,我已经用JAR文件正确地配置了所有东西。早些时候,我将objectAnimator设置为translate (并更改了属性值),它确实做了一个动画,但不是我想要的更复杂的动画。
有人对我可能做错了什么有什么建议吗?我开始抓稻草了。
编辑:--以防有帮助,这里是我的flipCard函数:
public void flipSalesCard(FragmentManager fm) {
if (salesShowingBack) {
salesShowingBack = false;
Fragment smallSSF = new SmallSalesSectionFragment();
FragmentTransaction trans = fm.beginTransaction();
trans.setCustomAnimations(R.anim.card_flip_left_in, R.anim.card_flip_left_out);
trans.replace(R.id.SalesInfoFragment, smallSSF);
trans.addToBackStack(null);
trans.commit();
return;
}
salesShowingBack = true;
Fragment expandedSSF = new ExpandedSalesSectionFragment();
FragmentTransaction trans = fm.beginTransaction();
trans.setCustomAnimations(R.anim.card_flip_right_in, R.anim.card_flip_right_out);
trans.replace(R.id.SalesInfoFragment, expandedSSF);
trans.addToBackStack(null);
trans.commit();
}发布于 2013-10-22 16:44:13
九老不适用于片段https://github.com/JakeWharton/NineOldAndroids/issues/43
该NineOldAndroids还有另一个库,但要小心,因为“视图动画将不再工作”
发布于 2013-10-02 09:22:01
不如试着用编程的方式来做吧?
我的回答是:如何在“通知”视图中将内容视图向下推送幻灯片就是一个例子。
如果您将其中一个xmlns:android="http://schemas.android.com/apk/res/android“移到set声明中并移除另一个,会发生什么情况。
发布于 2013-11-19 18:04:53
我在同样的问题上花了几个小时,结果都干干净净了。这个StackOverflow答案提供了一种替代技术(不需要NineOldAndroid)来实现翻转旋转,它非常好地工作。
https://stackoverflow.com/questions/19133158
复制相似问题