使用Toolbar碰到的问题

先在BaseActivity中配置toolbar

setSupportActionBar(toolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

再配置向上箭头的点击事件(正确写法):

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId())
        {
            //点击向上键
            case android.R.id.home:
                onBackPressed();
                break;
        }
        return super.onOptionsItemSelected(item);
    }

错误原因:

之前系统自动生成的代码中使用的是 case R.id.home,但是运行的时候点击没有反应,改为android.R.id.home之后出现效果,不知道是什么原因…

另外一种解决办法:

在Mainfest中当前Activity声明:android:parentActivityName="MainAcitivity(你需要返回的activity的名字)"
列如:



问题:

想在toolbar中使用系统自带的图标,如何设置?

解决办法:

在Java代码中的使用方法:

MenuItem.setIcon(android.R.drawable.ic_menu_save);

在xml文件中的使用方法:

android:icon="@android:drawable/ic_menu_save"

系统图标大全:

http://blog.csdn.net/jishu360/article/details/8540026


问题:

使用系统自带图标时,图标的背景颜色如何调整?
(图中的分享图标就是使用的系统自带图标)


软件截图.png

解决办法:


问题:

当menu.xml中的searchview代码为


运行效果为:


软件截图.png

而代码修改为(将app:showAsActio的值修改为"always|collapseActionView"):


运行效果为(搜索图标改变):

软件截图.png

你可能感兴趣的:(使用Toolbar碰到的问题)