Android – 在操作栏下拉菜单

我正在使用Action Bar的Android应用程序菜单,我想将下拉菜单放在操作栏中,就像Google Maps应用程序中的一样。

有人能帮我吗请指点一些简单的教程,我可以遵循。

将它添加到您的活动onCreate()方法:

// Adapter
SpinnerAdapter adapter =
        ArrayAdapter.createFromResource(this, R.array.actions,
        android.R.layout.simple_spinner_dropdown_item);

// Callback
OnNavigationListener callback = new OnNavigationListener() {

    String[] items = getResources().getStringArray(R.array.actions); // List items from res

    @Override
    public boolean onNavigationItemSelected(int position, long id) {

        // Do stuff when navigation item is selected

        Log.d("NavigationItemSelected", items[position]); // Debug

        return true;

    }

};

// Action Bar
ActionBar actions = getActionBar();
actions.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
actions.setDisplayShowTitleEnabled(false);
actions.setListNavigationCallbacks(adapter, callback);

此示例需要列表项的数组资源:

RES /值/ arrays.xml

<string-array name="actions">
    <item>Item 1</item>
    <item>Item 2</item>
    <item>Item 3</item>
</string-array>

或者,您可以创建自己的适配器和从SpinnerAdapter扩展的布局来显示更高级或动态的列表项。

要使活动onCreate代码甚至更干净,您还可以更改您的Activity以实现OnNavigationListener,并使用回调代码添加覆盖在NavigationItemSelected上。然后在setListNavigationCallbacks()方法中将“回调”改为“this”。

请注意,您需要为操作栏定位API 11,否则您需要添加版本检查或支持库。

http://stackoverflow.com/questions/11376101/drop-down-menu-on-action-bar

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Android – 在操作栏下拉菜单