2015-04-23 5 views
1

Я использую Fragment v4 с мин API = 14.Фрагмент v4 анимация врезается

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();   
    ft.setCustomAnimations(
      R.anim.fragment_slide_left_enter, 
      R.anim.fragment_slide_left_exit, 
      R.anim.fragment_slide_right_enter, 
      R.anim.fragment_slide_right_exit); 
    ft.replace(R.id.content_frame, myLogFragment).commit(); 

, но когда я использую анимации приложение врезается

04-23 16:36:01.718: E/AndroidRuntime(5899): FATAL EXCEPTION: main 
04-23 16:36:01.718: E/AndroidRuntime(5899): Process: com.ingenico.rbasimulator, PID: 5899 
04-23 16:36:01.718: E/AndroidRuntime(5899): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ingenico.rbasimulator/com.ingenico.rbasimulator.EcrActivity}: java.lang.RuntimeException: Unknown animation name: objectAnimator 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.app.ActivityThread.access$800(ActivityThread.java:151) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.os.Handler.dispatchMessage(Handler.java:102) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.os.Looper.loop(Looper.java:135) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.app.ActivityThread.main(ActivityThread.java:5254) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at java.lang.reflect.Method.invoke(Native Method) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at java.lang.reflect.Method.invoke(Method.java:372) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
04-23 16:36:01.718: E/AndroidRuntime(5899): Caused by: java.lang.RuntimeException: Unknown animation name: objectAnimator 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:126) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:116) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:93) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:74) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.support.v4.app.FragmentManagerImpl.loadAnimation(FragmentManager.java:786) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:963) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499) 
04-23 16:36:01.718: E/AndroidRuntime(5899):  at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548) 

как я могу исправить это?

ответ

0

Вам придется конвертировать R.anim файлов R.animation

http://developer.android.com/guide/topics/graphics/prop-animation.html#declaring-xml

Чтобы отличить файлы анимация, которые используют новые свойства анимации API, от тех, которые используют рамки устаревшего вида анимации, начиная с Android 3.1, вы должны сохранить XML-файлы для анимаций свойств в каталоге res/animator/(вместо res/anim /). Использование имени каталога аниматора является необязательным, но необходимо, если вы хотите использовать инструменты редактора макетов в плагине Eclipse ADT (ADT 11.0.0+), поскольку ADT ищет только res/animator/directory для ресурсов анимации свойств.

0

Вы пытаетесь применить objectAnimator на FragmentTransaction от support library. Но библиотека поддержки может применяться только ValueProperty анимации, как Alpha, Translation ... AnimatorSet

<translate 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:duration="@android:integer/config_shortAnimTime" 
android:fromXDelta="-100%p" 
android:interpolator="@android:anim/decelerate_interpolator" 
android:toXDelta="0%p"/> 

попробовать этот

Смежные вопросы