【Android】ToolBar设置NavigationIcon不显示异常或自定义失败异常

来源:互联网 发布:图像处理算法从何学起 编辑:程序博客网 时间:2024/05/28 05:14

异常:

在布局XML中设置android:navigationIcon=”@drawable/icon”或者在代码中设置都无法自定义成自己需要设置的NavigationIcon图片。
代码设置NavigationIcon如下:

Toolbar toolbar = (Toolbar)findViewById(R.id.my_toolbar);toolbar.setNavigationIcon(R.drawable.icon);toolbar.setTitle("Title");toolbar.setSubtitle("Sub");toolbar.setLogo(R.drawable.ic_launcher);setSupportActionBar(toolbar);

解决办法:

如果你在XML布局中设置ToolBar设置NavigationIcon,那么现在需要放弃这种做法,否者始终无法显示出你设置的NavigationIcon,至于原因目前我还不知道,如果你知道的话,欢迎告诉我一下,万分感谢;
如果你在代码中设置的ToolBar的NavigationIcon,结果却还是没有显示你需要的NavigationIcon,那么你需要着重检查一下,你是否有 setSupportActionBar(toolbar); 这句代码,否者你在代码中对toolbar所做的设置是无法应用到ToolBar中的,另外很重要的一点就是:setSupportActionBar(toolbar); 必须在ToolBar初始化之后,setNavigationIcon()以及各种自定义ToolBar设置(例如:toolbar.setTitle("Title");)之前,否者同样无法将设置应用到ToolBar之上。
至于setSupportActionBar(toolbar);这句代码的作用,其实就是将你的ToolBar设置到ActionBar上,替换掉它。
正确代码如下(可以和异常中的代码比较一下):

Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);setSupportActionBar(toolbar);toolbar.setNavigationIcon(R.drawable.icon);toolbar.setTitle("Title");toolbar.setSubtitle("Sub");toolbar.setLogo(R.drawable.ic_launcher);

参考链接:

http://stackoverflow.com/questions/26525229/toolbar-navigation-icon-never-set

0 0
原创粉丝点击