【问题标题】:Should toolbar's title change according to activity?工具栏的标题是否应该根据活动而改变?
【发布时间】:2018-04-02 20:07:28
【问题描述】:
所以,真的很愚蠢的问题,但工具栏标题是否应该从活动更改为活动?我在 Material Design Guidelines 上搜索过,但找不到。到目前为止,它只是在所有活动的工具栏上显示应用程序的名称。我想知道它是否遵循 Android 上的材料设计指南/最佳实践来保留它或根据所呈现的活动进行更改。
那么,它是否应该在所有活动上都一样,还是建议/建议将其更改为:从主屏幕转到聊天活动,它将是 App_name -> Chats 而不是 App_name -> App_name?
如果是这样,根据每个活动更改标题的最佳方法是什么?
【问题讨论】:
标签:
java
android
android-activity
material-design
android-toolbar
【解决方案1】:
工具栏的标题应该根据活动变化吗?
这取决于你,而不是 Material Design。您想清楚地告诉用户这是您应用程序的另一部分吗?你想推广品牌吗?这个活动需要标题吗?
根据每个活动更改标题的最佳方法是什么?
我认为这是一个技术问题。
你必须注意两种用法:
- 向操作系统公布的活动标题(或标签)。这用于启动器图标和最近的应用程序屏幕。它也是应用中显示的默认标题文本(如果适用,请进一步阅读)。
- 应用中显示的标题文本。
如何分配活动标题
案例 1) 你在清单中有标题
如果你像这样在清单中定义了活动标题
<activity android:label="Some title"/>
如果你不指定它会继承应用名称。
案例 2) 在运行时分配标题
您可以像这样在运行时手动设置活动标题
activity.setTitle("Some title");
activity.setTitle(R.string.some_title);
注意:在活动中它只是setTitle(...)。
在屏幕上显示标题
默认标题会自动显示在操作栏中
setSupportActionBar(toolbar)
或者如果您自己管理工具栏,您可以手动设置标题
toolbar.setTitle(activity.getTitle());
如果您稍后更改活动标题,您还必须在工具栏上重复调用,该过程不会自动进行。我不确定 Action Bar 案例。
您还可以将工具栏标题设置为您喜欢的任何其他内容
toolbar.setTitle("Some title");
toolbar.setTitle(R.string.some_title);