getSupportActionBar().setTitle() 与 toolbar.setTitle()

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

我知道 有两种方法可以在 Android Activity.

中设置标题

假设我已经有以下代码...

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

    ...

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

...我可以使用这个...

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

...或者这个...

toolbar.setTitle("My title");

...设置我的标题。

我的问题是,哪种做法更好

setSupportActionBar(toolbar);

这一行的目的是将传入的工具栏设置为活动应用栏。因此,无论哪种方式都是完全可以接受的;就个人而言,因为您已经创建了一个工具栏,我会在使用上述方法传递之前设置工具栏的标题。

如果您致电 setSupportActionBar(Toolbar), 然后Action Bar负责处理标题,因此你需要调用getSupportActionBar().setTitle("My Title");设置自定义标题。

还要检查这个 link 其中 toolbar.setTitle("My title"); 可能会导致如下问题:- In android app Toolbar.setTitle method has no effect – application name is shown as title

而toolbar就是action bar的一般形式。

我们可以有多个工具栏作为布局小部件,但操作不是。

因此更好的方法是使用 getSupportActionBar().setTitle("My Title");