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

时间:2015-12-06 13:45:54

标签: android android-actionbar android-toolbar android-titlebar

我知道有两种方法可以在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");

...设定我的头衔。

我的问题是,这是更好的做法

2 个答案:

答案 0 :(得分:20)

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

另请查看toolbar.setTitle("My title");可能导致如下问题的链接: - In android app Toolbar.setTitle method has no effect – application name is shown as title

工具栏是动作栏的一般形式。

我们可以将多个工具栏作为布局窗口小部件,但不会执行操作。

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

答案 1 :(得分:0)

setSupportActionBar(toolbar);

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