【问题标题】:preference screen doesn't honor NoTitleBar theme首选项屏幕不支持 NoTitleBar 主题
【发布时间】:2012-06-23 14:47:17
【问题描述】:

我的偏好活动有一个偏好类别,其中包含多个偏好屏幕。屏幕是在运行时动态添加的。我在代码中构建每个并将其添加到首选项组。屏幕实际上并没有在设备上设置首选项。相反,他们调用服务器将它们设置在那里。这是通过将它们全部设置为 persistent = false 并在每个上配置首选项更改侦听器来完成的。

我的问题是:我的应用不使用标题栏。我已经通过在清单中设置“@android:style/Theme.NoTitleBar”主题来禁用它们,但是我的偏好活动中的每个偏好屏幕创建的视图仍然有一个标题栏。其文本设置为首选项屏幕的标题。

我不能只是不设置标题,因为当显示偏好活动时它不存在。

我尝试在代码中的 PreferenceScreen 上设置布局资源并让该资源使用 NoTitleBar 主题,但是当屏幕的视图被放大时,它似乎忽略了我在代码中设置的所有标题、摘要等(相反到引用的布局中)。

我还尝试在首选项活动的布局上设置 NoTitleBar 主题,以及首选项类别。没有效果。

我什至考虑对 PreferenceScreen 进行子类化并覆盖 getView() 以在视图返回之前设置我的所有动态信息,但 PreferenceScreen 被声明为最终视图。

想法?

【问题讨论】:

    标签: android android-layout android-preferences preferenceactivity preferencescreen


    【解决方案1】:

    好奇怪!!

    requestWindowFeature(Window.FEATURE_NO_TITLE); 放入PreferenceActivity

    【讨论】:

    • 这会删除 PreferenceActivity 本身的标题栏,但不会删除属于该 Activity 的各个 PreferenceScreens 上的标题栏。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 2022-11-12
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多