2013-06-05 10 views
25

[UPDATE]Wie fügt man den Titel im Layout der Navigationsleiste hinzu?

ich das Problem lösen, indem addHeaderView Zugabe:

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

    mTitle = mDrawerTitle = getTitle(); 
    mPlanetTitles = getResources().getStringArray(R.array.planets_array); 
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
    mDrawerList = (ListView) findViewById(R.id.left_drawer); 

    LayoutInflater inflater = getLayoutInflater(); 
    ViewGroup mTop = (ViewGroup)inflater.inflate(R.layout.header_listview_menu, mDrawerList, false); 
    mDrawerList.addHeaderView(mTop, null, false); 

========================== ======

Meine Frage ist so einfach!

Ich möchte einen Titel in einer Navigationsleiste hinzufügen?

Ich habe bereits meine Navigation Schublade mit Listview (Symbol + Text) für jedes Element erstellt.

Vielen Dank,

enter image description here

+0

Haben Sie eine Idee, wie Sie mehrere Titel hinzufügen? –

+0

Haben Sie ein vollständigeres Codebeispiel? – karlstackoverflow

+0

Tolle Lösung !!! Vielen Dank. –

Antwort

5

eine TextView über einem ListView Put und wickeln Sie es in einer vertikalen LinearLayout. Geben Sie Ihrem Listview android:layout_weight="1" und android:layout_height="0dip"

+0

Das funktioniert, wenn der Header oben fixiert werden soll. Der Screenshot zeigt Header als Teil der 'ListView' selbst (siehe Zeile" Titel 2 "). Ihre Lösung könnte jedoch das sein, was das OP sucht. – CommonsWare

+0

Ja, ich habe ihn falsch verstanden. Erst jetzt merke ich er will – Blackbelt

+0

Danke, ich habe den Beitrag bearbeitet. Problem gelöst – wawanopoulos

11

Sie tun würden, dass die gleiche Art und Weise, wie Sie Überschriften in einem anderen ListView, durch den Unterricht Ihre ListAdapter hinzufügen würde Überschrift Reihen sowie Detailzeilen zurückzukehren. Auf der unteren Ebene bedeutet dies, dass die Methoden getViewTypeCount() und getItemViewType() in Ihrer ListAdapter überschrieben werden, und dass Sie getView() den Unterschied zwischen den Zeilentypen kennen. Oder verwenden Sie eine vorhandene High-Level-Implementierung wie https://github.com/emilsjolander/StickyListHeaders oder http://code.google.com/p/android-amazing-listview/ oder eine der anderen gefundenen bei der Suche nach android listview headers.

+0

Danke, ich habe den Beitrag bearbeitet. Problem gelöst – wawanopoulos

+0

verwandten Beitrag - http://StackOverflow.com/Questions/13590627/Android-Listview-headers –

0

Vielleicht ist es ein bisschen spät, aber ich denke, ich habe eine einfachere Lösung. Im Layout Ihrer Activity können Sie anstelle eines listView in der DrawerLayout beispielsweise ein LinearLayout hinzufügen, und Sie können einfach Trennzeichen und Zeilen hinzufügen. Zum Beispiel:

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

     <com.astuetz.viewpager.extensions.PagerSlidingTabStrip 
      android:id="@+id/indicator" 
      android:layout_height="48dip" 
      android:layout_width="fill_parent"/> 

     <ViewPager 
      android:id="@+id/pager" 
      android:layout_width="fill_parent" 
      android:layout_height="0dp" 
      android:layout_weight="1"/> 

    </LinearLayout> 

</RelativeLayout> 

<LinearLayout 
    android:orientation="vertical" 
    android:id="@+id/left_drawer" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:background="#111"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Separator 1"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="First button"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Separator 2"/> 

</LinearLayout> 

Und in der Aktivität können Sie die Zuhörer auf die Schaltflächen hinzufügen.

Hoffe, dass hilft!

Verwandte Themen