Android工具栏设置标题说明

时间:2015-08-27 12:15:23

标签: android android-toolbar

我的应用工具栏在这里:

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

当我想设置屏幕标题时,我必须执行以下操作:

ActionBar bar = getSupportActionBar();
if (bar != null) {
    bar.setTitle(SCREEN_TITLE);
}

我的问题是,为什么在调用toolbar.setTitle()时不起作用。但我需要首先获得操作栏然后我可以设置标题?

P.S。另一方面,我可以正常设置工具栏图标,而无需获取操作栏:

toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white);

1 个答案:

答案 0 :(得分:2)

Toolbar是在应用程序布局中使用的操作栏的概括。

与操作栏不同,工具栏不是窗口装饰的一部分。您可以像任何其他窗口小部件一样定义它并将其放置...因此您可以自由地将它放置在父布局中的任何位置。

您可以自由地将任何小部件放在工具栏中。

您可以定义多个工具栏。

Toolbar可以放置在视图层次结构中的任意嵌套级别。应用程序可以选择使用Toolbar方法将setActionBar()指定为活动的操作栏。

由于ToolbarActionBar的概括。您必须先将Toolbar设置为ActionBar,然后才能使用ActionBar的所有方法。

修改

以下是解释工具栏概念的Link

以下是在{android}问题中报告的bug link:问题是他们建议您调用setSupportActionBar(Toolbar)后,操作栏负责处理标题,这意味着您需要调用{{1}设置自定义标题。它还解释了为什么getSupportActionBar().setTitle(...)有效。

我希望它有所帮助!