Android FragmentTransaction: So generieren Sie ein Overlay-Slide-In und verschieben das vorhandene Fragement nach links

Ich versuche folgendes zu tun. Erstellen Sie ein neues Fragment B (Menü), schieben Sie es von rechts hinein und ich möchte das bereits gezeigte Fragment A nach links verschieben (nicht verstecken oder ersetzen!).

Ich habe die Transaktion von Fragment B richtig ausgeführt, aber Fragment A ändert seine Position überhaupt nicht. Scheint so, meinFragmentManager weiß nicht, dass Fragment A existiert (Fragment A wird nicht dynamisch hinzugefügt, es ist in XML definiert).

main_screen_layout-xml

<RelativeLayout //...
    android:id="@+id/main_screen"
    tools:context=".MainActivity" 

  <fragment
    android:id="@+id/map_screen"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    class="com.google.android.gms.maps.SupportMapFragment" >
  </fragment>

FragmentTransaction

FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();            
ft.add(R.id.main_screen, new MenuFragment(), MENU_FRAGMENT); //adding Fragment B
ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left_cut);       
ft.addToBackStack(null);
ft.commit();

Fragment A existiert in derFragementManager und ich kann es verstecken, aber das ist nicht mein Ziel

Fragment fragmentA = fragmentManager.findFragmentById(R.id.map_screen);
ft.hide(fragmentA); //hide FragmentA

Was mache ich falsch?

Einige Notizen:

Ich verwende die Support-Bibliotheken (android.support.v4.app.FragmentManager ..), teste aber auf API 17Wie bereits erwähnt, habe ich FragmentA nicht speziell für das deklariertFragmentManager (versuchte es, aber es heißt, Fragment existiert bereits)Fragment A ist (wie Sie in XML sehen können) eine Google Map aus der KlasseSupportMapFragmentDas Animations-XML funktioniert, deshalb habe ich es nicht gepostet

Antworten auf die Frage(2)

Ihre Antwort auf die Frage