2014-11-08 3 views
1

получение этой ошибки при анимации транзакции фрагмента.неизвестно имя аниматора: перевести

фрагмент в XML:

<FrameLayout 
android:id="@+id/relative" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:padding="15dp" 
android:background="#009688"> 

<RelativeLayout 
    android:layout_weight="0.5" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:id="@+id/linear"> 

    <TextView 
     android:layout_marginTop="35dp" 
     android:id="@+id/mission" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="MISSION" 
     android:textColor="#ffffff" 
     android:textSize="70dp" 
     android:gravity="center_horizontal"/> 

    <TextView 
     android:layout_below="@+id/mission" 
     android:id="@+id/notimpossible" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="NOT IMPOSSIBLE" 
     android:textColor="#ffffff" 
     android:textStyle="bold" 
     android:textSize="35dp" 
     android:gravity="center_horizontal"/> 

</RelativeLayout> 

<RelativeLayout 
    android:padding="10dp" 
    android:layout_weight="0.5" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_below="@+id/linear"> 

    <TextView 
     android:id="@+id/random_main" 
     android:textSize="20dp" 
     android:textColor="@color/white" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"/> 

</RelativeLayout> 


<TextView 
    android:id="@+id/ahead" 
    android:clickable="true" 
    android:layout_marginBottom="35dp" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:text="Go Ahead! " 
    android:textSize="23dp" 
    android:textColor="@drawable/text_focus_white" 
    android:layout_marginRight="8dp" 
    android:layout_gravity="right"/> 


</LinearLayout> 
</FrameLayout> 

Фрагмент B XML:

<?xml version="1.0" encoding="utf-8"?> 

<FrameLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#cddc39"> 

Код для tranaction из фрагмента А-фрагмента Б:

fragB frag = new fragB(); 
    FragmentManager fm = getFragmentManager(); 
    FragmentTransaction ft = fm.beginTransaction(); 
    ft.addToBackStack("wTF"); 
    ft.setCustomAnimations(R.anim.slide_out_to_right, R.anim.slide_in_from_right); 
    ft.replace(R.id.main,fragB); 
    ft.commit(); 

</FrameLayout> 

А вот анимация XMLs

Slide_in_from_right:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false"> 
    <translate 
    android:startOffset="500" 
    android:fromXDelta="100%" android:toXDelta="0%" 
    android:fromYDelta="0%" android:toYDelta="0%" 
    android:duration="700" /> 
</set> 

Вот slide_out_to_right:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false"> 
<translate 
    android:fromXDelta="0%" android:toXDelta="100%" 
    android:fromYDelta="0%" android:toYDelta="0%" 
    android:duration="700" /> 
</set> 
+0

downvoters против комментировать? –

ответ

7

Нет, вы можете использовать translate для Activities, но не для fragment. Вы должны использовать objectAnimator для fragment.

Посмотрите на 1-й ответ на этот вопрос, его работы:

Android FragmentTransaction Custom Animation (Unknown Animator Name: Translate)

+0

Я читал где-то, что использование framelayout, перевод собственности может работать, и этот ответ имел более 100 upvotes. –

+0

@ HirakChhatbar Действительно? Извините, я не знаю об этом ... но вы все еще получили свою ошибку, я не знаю, как исправить это с помощью макета кадра. –

+0

поблагодарить u в любом случае ... я решил остаться с объектомAnimator (y) –

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