您的位置:首页 > 其它

Actionbar

2015-06-04 17:26 169 查看
ActionBar可以使用onCreateOptionsMenu,和一个menu文件关联起来,也可以用setCustomView和一个布局关联,并且,以上2种方式是可以共存的

方式1我们称为menu方式,方式2我们称为customview方式。

对于menu方式来说,Actionbar上的每个按钮实际上都是一个菜单项MenuItem

对于menu式

代码如下

protected int getMenuRes() {
        return R.menu.menu_layout;
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(getMenuRes(), menu);

        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.broken) {
            Toast.makeText(this,"broken",Toast.LENGTH_SHORT).show();
            return true;
        }

        return super.onOptionsItemSelected(item);
    }


对于customview式,代码如下

protected void initActionBar() {
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.setCustomView(R.layout.activity_action_bar_custom_view);
            actionBar.setDisplayShowCustomEnabled(true);
            actionBar.setDisplayShowHomeEnabled(true);
            actionBar.setDisplayUseLogoEnabled(true);
        }
    }
一般在oncreate里面调用



如图右边是menu方式,左边***部分是customview方式

先调的onCreate后调的onCreateOptionsMenu

module:ActionbarDemo5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: