2016-07-11 8 views
0

Ich habe Fragment A Vollbild gemacht, das ein anderes Fragment B überlagert. Ich möchte mit dem Swipe Touch, der das Fragment schließen kann Wischen und wieder öffnen es wischen nach unten.Fragment über ein anderes Fragment, das geschlossen werden kann wischen

Ich habe dieses Beispiel Bild gemacht: enter image description here

Wie kann ich das umsetzen? Ich habe kein Tutorial zu diesem speziellen Fall gefunden. Vielen Dank.

+0

Wenn Sie ändern [diesen Code] (http://stackoverflow.com/questions/4139288/android-how-to-handle-right-to -links-Swipe-Gesten) nach oben und unten können Sie den FragmentManager verwenden, um das gewünschte Fragment zu trans- –

+0

ty für die Antwort, jetzt versuche ich es –

Antwort

0

Nach einiger Forschung, habe ich eine Bibliothek gefunden, die Platten Implementierung macht sehr einfach zu gleiten.

Es ist die Umano Android-Panel

Umano Android Panel repository

0

compile 'me.imid.swipebacklayout.lib:library:1.0.0'

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.darwich.swipetoclose.MainActivity"> 

    <RadioGroup 
     android:id="@+id/id_radioGroup" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="40dp" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <RadioButton 
      android:id="@+id/mode_left" 
      android:text="Left" 
      android:textSize="24sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

     <RadioButton 
      android:id="@+id/mode_right" 
      android:text="Right" 
      android:textSize="24sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

     <RadioButton 
      android:id="@+id/mode_bottom" 
      android:text="Bottom" 
      android:textSize="24sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

     <RadioButton 
      android:id="@+id/all" 
      android:text="All" 
      android:textSize="24sp" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

    </RadioGroup> 

</RelativeLayout> 
public class MainActivity extends SwipeBackActivity { 

    private SwipeBackLayout swipeBackLayout; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     RadioGroup trackingModeGroup = (RadioGroup) findViewById(R.id.id_radioGroup); 
     swipeBackLayout = getSwipeBackLayout(); 

     trackingModeGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 
      @Override 
      public void onCheckedChanged(RadioGroup group, int checkedId) { 
       int edgeFlag; 
       switch (checkedId) { 
        case R.id.mode_left: 
         edgeFlag = SwipeBackLayout.EDGE_LEFT; 
         break; 
        case R.id.mode_right: 
         edgeFlag = SwipeBackLayout.EDGE_RIGHT; 
         break; 
        case R.id.mode_bottom: 
         edgeFlag = SwipeBackLayout.EDGE_BOTTOM; 
         break; 
        default: 
         edgeFlag = SwipeBackLayout.EDGE_ALL; 
       } 
       swipeBackLayout.setEdgeTrackingEnabled(edgeFlag); 
      } 
     }); 
    } 
}