2013-06-05 14 views
25

[UPDATE]Navigasyon çekmece düzeninde başlık nasıl eklenir?

I addHeaderView ekleyerek sorunu çözmek:

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); 

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

Soruma bu kadar basit!

Gezinme çekmecesine nasıl bir başlık eklemek isterim?

Her öğe için gezinme çekmecemi liste görünümü (simge + metin) ile oluşturdum.

Çok teşekkürler,

enter image description here

+0

Birkaç başlık ekleme hakkında herhangi bir fikriniz var mı? –

+0

Daha eksiksiz bir kod örneğiniz var mı? – karlstackoverflow

+0

Harika çözüm! Teşekkür ederim. –

cevap

5

bir ListView üstünde bir TextView koyun ve dikey LinearLayout içine sarın. senin ListView android:layout_weight="1" ve android:layout_height="0dip"

+0

Bu başlık üstte sabitlenecekse işe yarayacaktır. Ekran görüntüsü, headerleri 'ListView''ün bir parçası olarak gösterir (bkz. "Başlık 2" satırı). Çözümünüz OP'nin aradığı şey olabilir. – CommonsWare

+0

Evet, onu yanlış anladım. Sadece şimdi farkettim ki – Blackbelt

+0

istiyor, ben yazıyı düzenledim. Sorun çözüldü – wawanopoulos

11

Sen yapacağını ver o sen başlığı satırları yanı sıra detay satırları dönmek için ListAdapter öğreterek, başka ListView başlıklar eklersiniz aynı şekilde. Düşük seviyede, bu ListAdaptergetViewTypeCount() ve getItemViewType() gibi yöntemleri geçersiz kılar, artı getView() sahip satır türleri arasındaki farkı biliyorum. Veya https://github.com/emilsjolander/StickyListHeaders veya http://code.google.com/p/android-amazing-listview/ gibi varolan üst düzey bir uygulamayı kullanın veya android listview headers için arama yaparken bulunanlardan herhangi birini kullanın.

+0

Teşekkürler, ben yazı düzenlenmiş. Sorun çözüldü – wawanopoulos

+0

ilgili gönderi - http://stackoverflow.com/questions/13590627/android-listview-headers –

0

Belki biraz geç oldu ama bence daha basit bir çözüm var. Aktivitenizin düzeninde, DrawerLayout içinde bir listView eklemek yerine, örneğin bir LinearLayout ekleyebilir ve kolayca ayırıcılar ve satırlar ekleyebilirsiniz. Örneğin:

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

Ve Faaliyet içinde

, sen düğmelere dinleyicileri ekleyebilir.

Bu yardımcı olur umarım!

İlgili konular