web-dev-qa-db-ja.com

Android:ナビゲーションドロワーサブメニュー:ナビゲーション項目を折りたたむ方法

私は10のオプションを持つナビゲーションドロワーを持っています。

説明されているように「折りたたみ可能なナビゲーションアイテム」を作成するにはどうすればよいですか こちら

19
Eric Bergman

これを作成するサンプルアプリケーションを次に示します。

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

そして、レイアウトフォルダーに新しいxmlファイルを作成する必要があります(hint:2つ作成します。1つはグループビュー用で、もう1つはサブメニュー用です)

結局、サイドナビゲーションは次のようになります。

enter image description here

編集: Androidのシンプルなナビゲーションドロワーレイアウト

16
cagcak