【Android】ToolBar设置NavigationIcon不显示异常或自定义失败异常
16lz
2022-05-21
异常:
在布局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
更多相关文章
- android 4.4 设置默认日期格式
- Android(安卓)登录界面Demo源码
- EditText android:windowSoftInputMode 属性之旅
- Android(安卓)EditText 为空提示 密码隐藏
- android闹钟――原代码
- 搭建Android(安卓)NDK开发环境
- imageButton被边框包围的原因、解决办法
- android webview 设置背景透明色
- Android设置权限问题