Wie implementiere ich zwei Level Slidingmenu in Android mit jfeinstein10 / SlidingMenu?

Ich möchte 2 Level-Sliding-Menü in Android zu erstellen. Wenn ich auf den ersten Schiebe-Menüpunkt klicke, muss ich noch ein anderes Schiebe-Menü auf der linken Seite zeigen. Ich habe das erste Level-Slide-Menü mit dem folgenden Code erstellt.

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/menu_frame" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/list_padding" android:paddingRight="@dimen/list_padding" /> </FrameLayout> 

Code Teil

  • Android Studio Update schlägt fehl
  • Eclipse nicht erkennen "R.id ..." mit Android
  • Wie kann ich den Eintritt in den einheimischen Kalender speichern (Android & iOS)?
  • Gradle veröffentlichen das spezifische Repo der Artifactory
  • Gibt es eine Möglichkeit, Benachrichtigungsabzeichen auf den offiziellen BottomNavigationView-Menüpunkten von Google zu sehen, die in API 25 eingeführt wurden?
  • Freigeben von Bitmaps aus android.view.GLES20DisplayList
  •  SlidingMenu menu; menu = new SlidingMenu(this); menu.setMode(SlidingMenu.LEFT); menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowWidth(10); menu.setFadeDegree(0.0f); menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW); menu.setBehindWidth(200); menu.setMenu(R.layout.menu_frame); 

    Wie gehst du fort, das 2. Level-Slide-Menü zu machen?

  • Android - deaktivieren Sie listview item click and reenable it
  • Wie man Gedächtnis mit Android-Studio zu analysieren
  • Android 2.3 hat niedrigere VM-Budget als 2.1 und 2.2?
  • Android: mkdirs () / mkdir () auf externe Speicherung gibt false zurück
  • Glitch beim Animieren verschachtelter Ansichten in einem gemeinsamen Element Aktivitätsübergang?
  • Wie finde ich alle hartcodierten Saiten in meinem Projekt in Android Studio
  • 5 Solutions collect form web for “Wie implementiere ich zwei Level Slidingmenu in Android mit jfeinstein10 / SlidingMenu?”

    Wir können das SlideMenu mit dem TranslateAnimation in Android erreichen. Erstellen Sie ein FrameLayout in XML und haben Sie die MainXML-Seite und dann MainSlidingMenu. Angrenzend an die MainSlidingMenu haben die sekundäre SlidingMenu. Standardmäßig haben die MainSlidingMenu und Secondary SlidingMenu unsichtbar. Wenn der Button-Klick oder ein beliebiges Event passiert, zeigen Sie das Main SlidingMenu, dann, wenn es ein Klick / Event in der MainSlidingmenu ist, übersetzen Sie das MainMenu weiter, um das sekundäre Schiebemenü anzuzeigen.

    Versuche damit:

     SlidingMenu menu; menu = new SlidingMenu(this); menu.setMode(SlidingMenu.LEFT_RIGHT); menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); menu.setShadowWidth(10); menu.setFadeDegree(0.0f); menu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW); menu.setBehindWidth(200); menu.setMenu(R.layout.menu_frame); //Set the secondary menu menu.setSecondaryMenu(R.layout.menu_frame); menu.setSecondaryShadowDrawable(R.drawable.shadow); 

    Dies ist, wie ich es bekam, mit der erwähnten Bibliothek:

    Dieses Layout enthält das oberste Slide-Menü, das auf das Layout des Menüs (fragment_nav_menu) und das Layout mit der Untermenü-Layoutreferenz als obige Ansicht verweist.

     <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:sliding="http://schemas.android.com/apk/res-auto" android:id="@+id/slidingMenuRoot" android:layout_width="fill_parent" android:layout_height="fill_parent" sliding:viewAbove="@layout/sliding_sub_menu" sliding:viewBehind="@layout/fragment_nav_menu" sliding:touchModeAbove="fullscreen" /> 

    Dies wäre das zweite Level-Menü (sliding_sub_menu.xml), beachten Sie, dass das, was Sie als viewAbove hier setzen, wird der eigentliche Top-Level-Content sein.

     <com.jeremyfeinstein.slidingmenu.lib.SlidingMenu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:sliding="http://schemas.android.com/apk/res-auto" android:id="@+id/slidingSubMenuRoot" android:layout_width="fill_parent" android:layout_height="fill_parent" sliding:viewAbove="@layout/fragment_content" sliding:viewBehind="@layout/fragment_sliding_menu" sliding:touchModeAbove="fullscreen" /> 

    Das Content-Layout (fragment_content.xml) könnte so sein, ein einfaches FrameLayout, und dann programmgesteuert würden Sie das gewünschte Fragment hinzufügen.

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

    Ebenso wird der gleitende Untermenüinhalt in der Layoutdatei (fragment_sliding_menu.xml) definiert und programmgesteuert zu einer Fragmentinstanz verwendet.

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

    Um ein Fragment zu diesen FrameLayouts hinzuzufügen, benutze so etwas (vielleicht auch das Entfernen eines möglichen vorherigen Fragments vor dem Hinzufügen eines neuen):

      FragmentTransaction fragTrans = getSupportFragmentManager().beginTransaction(); fragTrans.add(R.id.slidingSubMenuFrame, SubMenuFragment.newInstance(this)); fragTrans.commit(); 

    Ich habe es noch nicht viel getestet, aber es scheint zu funktionieren. Natürlich ist eine weitere Logik erforderlich, um das gewünschte Verhalten der Menüs zu implementieren (enger Hörer, Elemente auswählen usw.).

    JFeinstein Schiebe-Menü ist eine reiche Bibliothek. Sie können ganz einfach so viele Menüebenen hinzufügen, wie Sie es wünschen. Die Idee ist, das Schiebemenü als linke oder rechte Schiebeansicht des Hauptschiebemenüs und so weiter zu benutzen. Hier ist ein eigenständiges Beispiel, das 2-stufiges Menü bietet. Was Sie brauchen, ist, JFeinstein-Schiebe-Menü als Bibliothek zu importieren und erweitern Sie Ihre Aktivität von SlidingFragmentActivity. Ich stelle einen vollständigen Aktivitätscode mit Kommentaren ein, um die Dinge klarer zu machen.

      public class MainActivity extends SlidingFragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // dummy views - content view TextView content = new TextView(this); content.setBackgroundColor(Color.WHITE); content.setText("content"); // Menu view TextView menu = new TextView(this); menu.setBackgroundColor(Color.GREEN); menu.setText("menu"); // 2nd level menu view TextView subMenu = new TextView(this); subMenu.setBackgroundColor(Color.LTGRAY); subMenu.setText("submenu"); //configure sliding menu SlidingMenu sm = getSlidingMenu(); sm.setMode(SlidingMenu.SLIDING_WINDOW); sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); sm.setBehindOffset(80); sm.setBehindScrollScale(0.25f); sm.setFadeDegree(0.25f); //Another sliding menu - for 2nd level or sub menu SlidingMenu leftSlidingView = new SlidingMenu(this); leftSlidingView.setMode(SlidingMenu.SLIDING_WINDOW); leftSlidingView.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); leftSlidingView.setBehindOffset(80); leftSlidingView.setBehindScrollScale(0.25f); leftSlidingView.setFadeDegree(0.25f); //==== Required instruments has been created ;) lets put them at right places // setting menu and sub-menu view leftSlidingView.setContent(menu); // at center of left sliding view leftSlidingView.setMenu(subMenu); // at left of left sliding view //set content view setContentView(content); // at center of main sliding view // finally, set leftSlidingView as behind content view of main view setBehindContentView(leftSlidingView); // at left of main sliding view } } 

    Hier ist das Ergebnis:

    Bildbeschreibung hier eingeben

    Hoffe, es würde helfen 🙂

    Ich habe es herausgefunden, es ist so einfach.

     menu.setMenu(R.layout.layout_filemenu); menu.setSecondaryMenu(R.layout.layout_main); menu.setMode(SlidingMenu.LEFT_RIGHT); 

    SetMenu -> linksseite SetSecondaryMenu -> rechte Seite

    Hoffe das hilft

    Das Android ist ein Google Android Fan-Website, Alles über Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.