2012-11-15 5 views
8

enter image description hereWie platziere ich eine ActionBar auf einem SlidingMenu (wie in der Evernote App)?

Ich möchte Dia-Menü, das ActionBar wie in Evernote hat. In dieser App, Seem wie es hat 2 ActionBars (Ich bin mir nicht sicher). Einer im Haupt- und ein anderer im Schiebe-Menü.

Gibt es trotzdem 2 ActionBars wie diese zu bauen? Oder es ist nur eine Layout-Anordnung ähnlich wie ActionBar aussehen.

Vielen Dank für Ihre Hilfe und Entschuldigung für mein Englisch.

ps. Ich benutze ActionBarSherlock und SlidingMenu, um dies zu erreichen, aber ich kann den Weg nicht finden wie in Evernote.

+0

AFAIK Sie möchten wahrscheinlich, dass Sie selbst (die 2. Look-a-like Actionbar) zeichnen –

+0

Hmm scheint, habe ich in das gleiche Problem laufen .... Ich habe die Aktionsleiste auf der Schiebe-Menü implementiert, aber ich kann nicht scheinen um die Aktionsleiste im hinteren Menü hinzuzufügen. – Tkingovr

+0

@Sizer können Sie mir helfen, diese Art von Menü zu machen. Ich benutze Jeremy Feinsteins SlidingMenu-Bibliothek. aber ich kann das nicht machen. Kannst du mir ein komplettes Beispiel für dieses gleitende Menü geben? –

Antwort

1

Ok schaffte ich es mit Hilfe von Gunnar Karlsson zu tun, der mich in die richtige Richtung geschoben Statt einer Suche

ich ein Image wie so umgesetzt:

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

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="#333333" > 

     <ImageButton 
       android:layout_width="wrap_content" 
       android:layout_height="60dp" 
       android:src="@drawable/ic_launcher" 
       android:onClick="showPopup" /> 

</LinearLayout> 


<ListView xmlns:android="http://schemas.android.com/apk/res/android" 
    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" /> 

</LinearLayout> 

und in dem meine mainActivity Ich zog das einfach aus dem Google-Beispielcode zum Erstellen eines Popup-Menüs:

Und es funktionierte. Danke Gunnar Karlsson.

9

Sie schrieb:

ich (...) SlidingMenu

Wenn von SlidingMenu Sie bedeuten Jeremy Feinstein 's SlidingMenu, und Sie möchten mit diesem Menü Bibliothek zu halten, können Sie' t verwenden Sie eine "echte" ActionBar, da SlidingMenu's Menü als Fragment, genannt SlidingMenuFragment in der Bibliothek implementiert ist. A kann keine ActionBar halten.

Sie können ein Layout erstellen, das wie ein ActionBar aussieht. In SlidingMenuFragment's setzen Sie die Layout-Datei wie folgt:

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    ViewGroup viewGroup = (ViewGroup) inflater.inflate(R.layout.sliding_menu,null); 

in dem Layout-Datei-Menü, hier genannt sliding_menu.xml, können Sie zum Beispiel einen SearchView aussehen lassen, wie es durch Verschachtelung es in einem Layout an der Spitze in einem ActionBar ist. Sie legen dann die Hintergrundfarbe/Layout des Layouts auf etwas anderes als den Rest der Liste fest. Siehe unten Beispiel (ich bin mir bewusst, Verschachtelung LinearLayouts ist nicht schön ... Nur ein kurzes Beispiel, das die LinearLayout aus dem SlidingMenu Beispiel App nutzt die Idee zu vermitteln):

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#333333" > 

     <SearchView 
      android:id="@+id/searchView" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 
    </LinearLayout> 

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

</LinearLayout> 

Dies wird wie folgt aussehen:

enter image description here

wenn offen, wo das Licht auf der rechten Seite grauen Kasten Teil der ‚realen‘ ActionBar ist.

Edit: Sie schrieb in einem Kommentar:

Die Suche Beispiel funktioniert auf die gleiche Art und Weise zu arbeiten Im Probleme haben ein Dropdown-Menü zu bekommen.

Das Dropdown-Menü in der EverNote App sieht so aus, als ob es mit einem Holo-Thema Spinner implementiert wurde. Android-Entwickler hat eine gründliche introduction zum Hinzufügen eines Spinner zu einem Layout. Der Logik-/Java-Code des Spinner würde in SlidingMenuFragment gesetzt werden (wenn Sie mit der SlidingMenu Bibliothek gehen).

+0

Können Sie andere Bibliotheken Im nicht fest mit der Verwendung von SlidingMenu insbesondere empfehlen, ich habe es gerade gefunden die beste zu sein. – Tkingovr

+0

Ich habe alle Bibliotheken unter diesem Link getestet, wie von August 2012: http://stackoverflow.com/questions/8657894/android-facebook-style-slide/9905415#9905415 für eine App arbeitete ich an. Feinstein SlidingMenu Bibliothek war die einzige, die ich implementieren verwaltet werden, in denen die Anforderungen des Kunden 1 waren) ActionBar artige Suchleiste auf Menü 2) die ActionBar gleitet nach rechts, wenn das Menü öffnet und 3) alle Ansichten sind Fragmente. Also, net, ich kann nicht (weil sie nicht für mich arbeiten ...) eine andere Bibliothek empfehlen, aber schauen Sie sich diese Liste an. –

+0

OK Dank für die Hilfe und versucht Im ein Menü zu implementieren wie im App Evernote würden Sie Ideen haben, wie das realisieren? Das searchView-Beispiel funktioniert, wenn ich Probleme habe, ein Dropdown-Menü zu erhalten, das auf die gleiche Weise funktioniert. – Tkingovr

Verwandte Themen