2013-01-31 20 views
7

Sto provando a sviluppare un'applicazione utilizzando la libreria SlidingMenu di jeremy feinstein che ho trovato molto interessante. Ho impostato tutto e creato un progetto di esempio solo per verificare se sono in grado di implementare il menu scorrevole, ma sfortunatamente non sono riuscito a vedere alcun menu scorrevole nella mia applicazione.Implementazione del menu scorrevole J. Feinstein

queste sono le cose che ho fatto,

  • scaricato SlidinMenu da HERE e importati in Eclipse come un androide progetto esistente. Modificato il suo livello API a Google. (Ora non c'è più alcun segno rosso.)

  • Creato un nuovo progetto e aggiunto la libreria del menu scorrevole.

  • Come spiegato Jfeinstein, ho aggiunto il seguente codice alla mia MainActivity.java

    public class MainActivity extends Activity { 
    
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
    
        setTitle("Title !"); 
    
        setContentView(R.layout.activity_main); 
    
        SlidingMenu menu = new SlidingMenu(this); 
        menu.setMode(SlidingMenu.LEFT); 
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
        menu.setShadowWidthRes(R.dimen.shadow_width); 
        menu.setShadowDrawable(R.drawable.shadow); 
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
        menu.setFadeDegree(0.35f); 
        menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); 
        menu.setMenu(R.layout.menu); 
    
    } 
    

    }

e la mia activity_main.xml

<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=".MainActivity" > 


<com.slidingmenu.lib.SlidingMenu 
    xmlns:sliding="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/slidingmenulayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    sliding:viewAbove="@layout/testing" 
    sliding:viewBehind="@layout/testing_two" 
    sliding:touchModeAbove="margin" 
    sliding:behindWidth="@dimen/shadow_width" 
    sliding:behindScrollScale="0.5" 
    sliding:shadowDrawable="@drawable/shadow" 
    sliding:shadowWidth="@dimen/shadow_width" 
    sliding:fadeEnabled="true" 
    sliding:selectorEnabled="true"/> 

</RelativeLayout> 

e menu_frame.xml

<?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" /> 

testing.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Test"/> 
</LinearLayout> 

e ho copiato la sua menu.xml, shadow.xml, dimen.xml nel mio progetto .

E quando l'eseguo ho visto nulla, ma questi errori,

01-31 22:18:13.027: E/AndroidRuntime(759): FATAL EXCEPTION: main 
01-31 22:18:13.027: E/AndroidRuntime(759): java.lang.RuntimeException: Unable to start activity ComponentInfo{android.demo.com/android.demo.com.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 

non so dove ho fatto un errore. Ho provato molto e non riuscivo a capire niente online. Ogni tipo di aiuto o di esempio è molto apprezzato. Grazie!

+0

Questo non sembra un errore con qualsiasi cosa che hai postato. Dove stai cercando di gonfiare i tuoi frammenti per lo SlidingMenu? – hwrdprkns

+0

@hwrdprkns Ecco cosa, davvero non capisco dove ho fatto un errore. Per favore suggeriscimi qualcosa. –

+0

Sospetto che non sia necessario includere lo SlidingMenu in RelativeLayout. Tuttavia, questo non è un problema con SlidingMenu perché non usa i frammenti. Pubblica il tuo '@ layout/testing', sospetto che sia il problema. – hwrdprkns

risposta

4

Il tuo problema è here.Your codice:

sliding:viewAbove="@layout/menu_frame" 
sliding:viewBehind="@layout/menu_frame" 

Dall'esempio doc:

sliding:viewAbove="@layout/YOUR_ABOVE_VIEW" 
sliding:viewBehind="@layout/YOUR_BEHIND_BEHIND" 

È necessario assicurarsi che ciò che sta sopra e ciò che è dietro la vista.

Aggiornamento: Ho testato il codice, non ci sono problemi con esso. L'unica cosa che dovevo fare era cancellare sliding:fadeEnabled="true" a causa di un errore di compilazione per me. Potresti voler cercare da qualche altra parte nel tuo codice o provare a eliminare quella linea e provare.

+0

Ho aggiunto un layout testing.xml con un semplice TextView. Ma continuando a ottenere lo stesso errore. –

+0

Perché li hai impostati nuovamente sulla stessa vista. Prova a impostarli su visualizzazioni diverse. – wtsang02

+0

Come hai detto, ho creato un altro xml con del testo, ma come al solito, ottenendo lo stesso errore! –