【问题标题】:Custom titlebar (summary) in PreferenceActivityPreferenceActivity 中的自定义标题栏(摘要)
【发布时间】:2012-08-08 17:31:00
【问题描述】:

正如标题所示,我想为PreferenceAcitvity 创建一个自定义标题栏。 我需要在标题下方添加一个摘要。目前它只会显示一个标题,但我需要一个副标题,就像任何Preference 可以有一个摘要一样。

我在这里读过很多问题,比如thisthis,但这些都有不同的作用;第一种方法不可能包含标题的摘要。为每个 Preference 创建自定义布局似乎也不是最明智的选择,而且是大量无意义的工作(我有大量的 PreferenceActivity。我正在考虑扩展一些东西。

另外,我想尽可能地保持默认行为,所以我正在研究将TextView 添加到位于 android-sdk-windows\platforms\android-16\data\res 中的默认布局的方法\layout\screen_title.xml

所以我想我应该将此布局应用于第二个 Q 中的方法,但现在我遇到了 screen_title.xml 文件中使用的资源 id 不公开的问题。

我的想法快用完了……有人有新的想法吗?

编辑

感谢下面接受的答案,我找到了解决方案。 进一步澄清:答案中的方法getSupportActionBar()不在SDK中,而是来自ActionBarSherlock。 这是一个兼容性库,用于在 API 11 之前的应用程序/设备上启用 ActionBarFragmentActivity(除其他外)。这是一个相当重的库,大约 11mb,所以你必须考虑是否值得在你的应用程序中添加 11mb,只是为了在你的偏好屏幕中有一个摘要/副标题。另一方面,这当然还允许您实现库的其他功能,例如实际创建操作栏(和/或菜单)。

【问题讨论】:

    标签: android layout preferenceactivity


    【解决方案1】:

    如果您在谈论 Actionbar,那么您可以这样做:

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayShowTitleEnabled(true);
    actionBar.setSubtitle("Test Subtitle");
    

    【讨论】:

    • 好的。通常,他们建议您尝试添加您的发现,并不断使用新信息进行更新。
    • 我在想,一个只为 ActionBar 和相关类提供向后兼容性的库在较低的 API 上不起作用是多么愚蠢。所以我想我一定是做错了什么。再次潜入,发现我是对的!我会接受你的回答,我认为在这里删除我们令人困惑的 cmets 是个好主意,同意吗?谢谢大佬!
    • 不,我们可以离开 cmets。
    猜你喜欢
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    相关资源
    最近更新 更多