最近开发android app,程序中用到ToolBar控件,想设置ToolBar的NavigationIcon图标图标可是怎么设置都不管用,一直显示控件自带的。
异常:
在布局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;
必须使用代码方式:
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("");
toolbar.setSubtitle("");
setSupportActionBar(toolbar);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
toolbar.setNavigationIcon(R.mipmap.userphoto);