如何在操作栏中展开导航列表?

时间:2012-01-22 23:19:03

标签: android android-actionbar android-navigation-drawer

在android中,您可以通过传递微调器适配器和OnNavigationListener在操作栏中设置导航列表。问题是导航列表不填充大部分操作栏,如何使其像gmail应用程序一样扩展: Gmail应用示例:

enter image description here

我的应用:

enter image description here

这是代码:

//... setting the array adapter
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
NavigationListener navigationListener = new NavigationListener();
ListAdapter listAdapter = new ListAdapter();
actionBar.setListNavigationCallbacks(listAdapter, navigationListener);
actionBar.setDisplayShowTitleEnabled(false);

我面临的其他问题是微调项目的大小,它们显示的确很小,是因为我没有通过自定义textview(看截图)?我做的例子:

private class ListAdapter extends BaseAdapter implements SpinnerAdapter {

    public View getView(int pos, View view, ViewGroup viewGroup) {
        TextView text = new TextView(context);
        text.setText(arrayAdapter.getItem(pos).toString());
        return text;
    }

}

2 个答案:

答案 0 :(得分:11)

您也希望实施getDropDownView方法。这样,您就可以使用所需的指标和格式为下拉列表提供不同的视图。

考虑为这些情况夸大框架布局android.R.layout.simple_spinner_itemandroid.R.layout.simple_spinner_dropdown_item。使用findViewById(android.R.id.text1)获取每个应填写的TextView

答案 1 :(得分:-1)

也许您可以使用ActionBar tab navigation并向标签添加图标而不是列表导航,因为gmail的导航看起来更像是标签导航。