2013-06-17 28 views
14

Mam nawigacji szuflada z 10 opcji Option # 5 shoudl mieć kolejne 7 opcje (jak podmenu) pewnego rodzaju, która jest rozszerzalna/zwijaneAndroid: Nawigacja Szuflada menu: Jak składane elementy nawigacyjne

Jak mogę stworzyć „składane elementy nawigacyjne” jak jest to opisane tutaj: http://developer.android.com/design/patterns/navigation-drawer.html#Content

+0

To ExpandableListView można dodawać tylko do rodzica dziecka 5. – Milan

+0

@Milanix Właściwie muszę dodawać dzieciom nadrzędna 5 & Dominującą 7, jest to, że nie jest możliwe? –

+0

Więc w czym problem? Użyj ExplandableListView, jak wspomniano wcześniej. – Milan

Odpowiedz

17

Oto przykładowa aplikacja, która czyni go:

PrashamTrivedi/DrawerLayoutTest

@Override 
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) 
    { 
     if (convertView == null) 
     { 
      LayoutInflater layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = layoutInflater.inflate(R.layout.drawer_group_item,parent,false); 
     } 

     ((TextView) convertView).setText(groupItem.get(groupPosition)); 
     convertView.setTag(groupItem.get(groupPosition)); 
     return convertView; 
    } 

@Override 
    public View getChildView(int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) 
    { 
     tempChild = (ArrayList<String>) children.get(groupPosition); 
     TextView text = null; 

     if (convertView == null) 
     { 
      LayoutInflater layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = layoutInflater.inflate(R.layout.drawer_submenu_item,parent,false); 
     } 

     text = (TextView) convertView; 
     text.setText(tempChild.get(childPosition)); 

     convertView.setTag(tempChild.get(childPosition)); 
     return convertView; 
} 

I trzeba utworzyć nowe pliki XML w folderze układ (podpowiedź: tworzyć dwa, jeden dla widoku grupowej i innych submenu)

Po wszystkim nawigacja po stronie musi wyglądać tak, jak poniżej:

Snapshot of drawer submenu view

EDIT: Simple Navigational Drawer Layout in Android

+0

Po tym, jak zaimportowałem twoje rozwiązanie projektowe do mojego obszaru roboczego, nie mogłem wybrać elementu pod pozycją 4. Czy masz jakieś pomysły? –

+0

Cóż, jak pamiętam, przykładowy projekt nie był całkowicie kompatybilny z poprzednimi wersjami, co oznacza, że ​​ma min-sdk w wersji 11. Jeśli korzystałeś z aplikacji na starszych urządzeniach, które mają interfejs API Honeycomb, może to być przyczyną. Jeśli nie, proszę rozważyć porady, które powiedziałem: "musisz utworzyć nowe pliki xml w folderze układu (wskazówka: utwórz dwie, jedna dla widoku grupowego i inna dla podmenu) _". – CagCak

+0

Link jest uszkodzony! – transistor