getSupportActionBar().setTitle() vs toolbar.setTitle()

微笑、不失礼 提交于 2019-12-20 10:11:37

问题


I am aware that there are two methods to setting a title in an Android Activity.

Assuming I already have the following code...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.my_activity);

    ...

    Toolbar toolbar = (Toolbar) findViewById(R.id.my_toolbar);
    setSupportActionBar(toolbar);

...I can use either this...

getSupportActionBar().setTitle("My title");

...or this...

toolbar.setTitle("My title");

...to set my title.

My question is, which is the better practice?


回答1:


If you call setSupportActionBar(Toolbar), then the Action Bar is then responsible for handling the title, therefore you need to call getSupportActionBar().setTitle("My Title"); to set a custom title.

Also check this link where toolbar.setTitle("My title"); may cause problem like below:- In android app Toolbar.setTitle method has no effect – application name is shown as title

And toolbar is the general form of action bar.

We can have multiple toolbars as layout widget but action is not.

Thus better approach is to use getSupportActionBar().setTitle("My Title");




回答2:


setSupportActionBar(toolbar);

The purpose of this line is to set the passed in toolbar as the activities app bar. So in this way either way is perfectly acceptable; personally as you have already created a toolbar, I would set the title of toolbar before passing it using the above method.



来源:https://stackoverflow.com/questions/34118086/getsupportactionbar-settitle-vs-toolbar-settitle

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!