I'm trying to get a custom animation to work with my fragment.
I've followed the online tutorials but I've been getting the below error:
java.lang.RuntimeException: Unknown animator name: translate
The XML for the animation is below:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%"
android:toXDelta="0"
android:duration="300" />
</set>
The Java file is shown below:
public void goCategory(View v) {
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.animator.anim_in_left, R.animator.anim_out_left);
ft.show(fragment);
ft.commit();
}
I'm having trouble understanding the solutions in the other threads. If someone could dumb it down for me, I'd really appreciate it.
Probably you are mixing two apis. There are two cases:
If targeting below 3.0 or using support v4 fragments: You have to use the old animations api, that is, the one you are using (they go into anim/, and are R.anim.thing
)
If you are targeting above 3.0 and using native fragments: You have to use the new animation apis, that is, ObjectAnimators (they go into animator/ and are R.animator.thing
).