ToolBar的那些坑

Android 新人,博文是我的学习笔记,用于加深理解和记忆。这篇文章是我的第一篇文章,难免有错漏之处,或者不严谨的地方。有问题和意见,欢迎提出。

我在用toolbar时遇到了一些坑,与大家分享一下

我所用的toolbar的jar包是appcompat-v7-23.4.0

1:当我在activity初始化toolbar后,如果想要跟页面的actionbar进行绑定,此时你可以调用setSupportActionBar(mToolbar)方法,但是此时要注意的是mToolbar.setTitle("");必须要在调用setSupportActionBar方法之前设置,否则无效,而mToolbar.setNavigationOnClickListener方法必须要在调用setSupportActionBar方法之后设置,否则监听无效,而例如设置setTitleTextColor和setNavigationIcon无论在setSupportActionBar之前设置还是在之后设置都有效,但是在看另外一篇博文时,里面提到setNavigationIcon要设定在 setSupoortActionBar 后才有作用, 否則會出現 back button,但是我试了好久发现在appcompat-v7-23.4.0基础上的toolbar无论前后都有效,可能当时博文的作者用的jar包有bug,后来新的jar包把此问题修复了。

所以设置的代码可以用如下的方式设置,作为参考

mToolbar= (Toolbar) findViewById(R.id.mToolbar);

mToolbar.setTitleTextColor(getResources().getColor(R.color.white));

//必须在setSupportActionBar之前设置

mToolbar.setTitle("项目库");

//无论前后设置都有效

mToolbar.setNavigationIcon(org.commonui.R.drawable.toolbar_back_selector);

setSupportActionBar(mToolbar);

//必须在setSupportActionBar之后设置

mToolbar.setNavigationOnClickListener(newView.OnClickListener() {

     @Override

     public void onClick(View v) {

     finish();

     }

});

你可能感兴趣的:(ToolBar的那些坑)