Activity的主题是Theme.AppCompat.Light.NoActionBar,调用Activity的setTitle结果是啥?

Posted

技术标签:

【中文标题】Activity的主题是Theme.AppCompat.Light.NoActionBar,调用Activity的setTitle结果是啥?【英文标题】:What's the result of calling the Activity's setTitle when its theme is Theme.AppCompat.Light.NoActionBar?Activity的主题是Theme.AppCompat.Light.NoActionBar,调用Activity的setTitle结果是什么? 【发布时间】:2018-03-22 00:58:01 【问题描述】:

我有一个主题是Theme.AppCompat.Light.NoActionBar 的子项的活动。我从这个活动的一个片段中调用getActivity().setTitle("My Title");,并没有看到 UI 中的任何变化。如果活动的主题是Theme.AppCompat.Light.DarkActionBar,我会看到操作栏标题已更改为“我的标题”。

在没有操作栏的情况下调用getActivity().setTitle() 有意义吗? setTitle 从 API 1 开始就可用。当时还没有 ActionBar。

【问题讨论】:

getSupportActionBar().setTitle(title) 怎么样? 【参考方案1】:

随着时间的推移,API 中的功能会发生变化,一组标题可能指的是应用程序上方的小条。但是现在在病房中,它指的是操作栏。如果你想用当前 api 23 设置标题,那么你需要一个操作栏。

【讨论】:

如果您提供任何证据(AppCompat 和/或 android 的源代码),我会接受您的回答

以上是关于Activity的主题是Theme.AppCompat.Light.NoActionBar,调用Activity的setTitle结果是啥?的主要内容,如果未能解决你的问题,请参考以下文章

安卓:Activity的自定义主题

错误:预期颜色但得到(原始字符串)颜色/灰色

Android项目实战:Dialog主题Activity实现自定义对话框效果

如何使用现有自定义主题在 XML 中隐藏 Activity 的标题栏

以编程方式设置的主题。如何重新加载 Activity 以应用

activity使用dialog主题