Android工具栏设置标题说明
Android Toolbar set title explanation
我的应用工具栏在这里:
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);
A Toolbar
是在应用程序布局中使用的操作栏的概括。
与操作栏不同,工具栏不是 window 的一部分 decor.You 定义它并像任何其他小部件一样放置它...因此您可以自由地将它放置在 [=49] 中的任何位置=]布局。
您可以自由地将任何小部件放入工具栏。
您可以定义多个工具栏。
Toolbar
可以放置在视图层次结构中的任意嵌套级别。应用程序可以选择使用 setActionBar()
方法将 Toolbar
指定为 Activity 的操作栏。
因为 Toolbar
是 ActionBar
的泛化。您必须先将 Toolbar
设置为 ActionBar
然后您可以使用 ActionBar
.
的所有方法
编辑:
这里 Link 解释了工具栏的概念。
这是 bug link 在 android issues 中报告的:在 issue 中,他们建议一旦你调用 setSupportActionBar(Toolbar)
,Action Bar 就会负责处理标题,这意味着你需要调用 getSupportActionBar().setTitle(...)
设置自定义标题。它还解释了为什么 toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white);
有效。
希望对您有所帮助!
我的应用工具栏在这里:
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);
A Toolbar
是在应用程序布局中使用的操作栏的概括。
与操作栏不同,工具栏不是 window 的一部分 decor.You 定义它并像任何其他小部件一样放置它...因此您可以自由地将它放置在 [=49] 中的任何位置=]布局。
您可以自由地将任何小部件放入工具栏。
您可以定义多个工具栏。
Toolbar
可以放置在视图层次结构中的任意嵌套级别。应用程序可以选择使用 setActionBar()
方法将 Toolbar
指定为 Activity 的操作栏。
因为 Toolbar
是 ActionBar
的泛化。您必须先将 Toolbar
设置为 ActionBar
然后您可以使用 ActionBar
.
编辑:
这里 Link 解释了工具栏的概念。
这是 bug link 在 android issues 中报告的:在 issue 中,他们建议一旦你调用 setSupportActionBar(Toolbar)
,Action Bar 就会负责处理标题,这意味着你需要调用 getSupportActionBar().setTitle(...)
设置自定义标题。它还解释了为什么 toolbar.setNavigationIcon(R.drawable.ic_arrow_back_white);
有效。
希望对您有所帮助!