首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓: ActionBar (安卓支持库)

安卓: ActionBar (安卓支持库)
EN

Stack Overflow用户
提问于 2013-12-31 16:34:35
回答 2查看 648关注 0票数 0

我对ActionBarCompat (来自支持库)有个问题。我不知道如何在ActionBar上添加几个按钮,在那里我画了一个黑色的圆圈(在屏幕截图上)以及屏幕左边的菜单。

拜托,我需要帮助!

屏幕左边的ActionBar菜单代码。

代码语言:javascript
复制
     private DrawerLayout mDrawerLayout;
    private ListView mDrawer;
    private ActionBarHelper mActionBar;
    private ActionBarDrawerToggle mDrawerToggle;

...

        linearLayout = (LinearLayout)findViewById(R.id.fragment_container);
        linearLayout.setId(LAYOUT_ID);
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        mDrawer = (ListView) findViewById(R.id.left_drawer);
        mDrawerLayout.setDrawerListener(new DDrawerListener());
        mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);

...
        fragments = new  Fragment[NUMBER_OF_TABS];
        mDrawer.setAdapter(new CustomAdapter(this));
        mDrawer.setOnItemClickListener(new DrawerItemClickListener());


        android.support.v7.app.ActionBar actionBar = getSupportActionBar();
        actionBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.tab));
        actionBar.setDisplayHomeAsUpEnabled(true);


        mActionBar = createActionBarHelper();
        mActionBar.init();


        mDrawer.setBackgroundColor(Color.parseColor("#e5c391"));
        mDrawer.setCacheColorHint(Color.parseColor("#e5c391"));

        initArrays(this);

        mDrawerToggle = new ActionBarDrawerToggle
        (this, mDrawerLayout,R.drawable.ic_drawer,R.string.app_drawer_open, R.string.app_drawer_close);

        if (savedInstanceState == null)
        {
            addFragment(0);
        }

(也欢迎其他方式)谢谢!新年快乐!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-31 16:43:03

来自https://developer.android.com/training/basics/actionbar/adding-buttons.html

指定XML中的操作。

操作溢出中的所有操作按钮和其他可用项都在XML菜单资源中定义。要将操作添加到操作栏中,请在项目的res/menu/目录中创建一个新的XML文件。

为要包含在操作栏中的每个项添加一个元素。例如:

代码语言:javascript
复制
res/menu/main_activity_actions.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Search, should appear as action button -->
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          android:showAsAction="ifRoom" />
    <!-- Settings, should always be in the overflow -->
    <item android:id="@+id/action_settings"
          android:title="@string/action_settings"
          android:showAsAction="never" />
</menu>

将操作添加到ActionBar

代码语言:javascript
复制
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}

响应动作按钮

代码语言:javascript
复制
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle presses on the action bar items
    switch (item.getItemId()) {
        case R.id.action_search:
            openSearch();
            return true;
        case R.id.action_settings:
            openSettings();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
票数 2
EN

Stack Overflow用户

发布于 2013-12-31 16:39:14

请参阅Android门户中的这个备注

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20860382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档