Android PreferenceScreen标题栏删除

我想摆脱偏好活动中的顶级标题栏和所有子屏幕.

我面临的问题现在不会出现在果冻豆上,而是出现在旧版本上.

如果我不能删除它,我想改变它的行为,因此子屏幕中的标题不会从列表项转移.

我没有在此屏幕中设置任何标题,系统从父屏幕复制文本属性.父屏幕上的标题已由root preferencecategory上的setTitle()设置.问题存在于2.3.6

最佳答案 正如您所注意到的,此问题已在最近的
Android版本中得到修复.它是由嵌套首选项被硬编码以始终使用框架中的内部主题或Theme_NoTitleBar的错误引起的.在姜饼发布后的某个时候,
commit that fixed the bug显然已合并.

解决此错误(仅删除不需要的标题文本)的最简单方法是将onPreferenceClickListener添加到PreferenceScreen对象并将标题设置为null.对于您发布的代码,它的外观如下:

    particleSettings.setLayoutResource(R.layout.iconpreferencee);
    particleSettings.setKey("screen_preference");
    particleSettings.setTitle(Html.fromHtml("" + "Particles" + ""));
    particleSettings.setSummary(Html.fromHtml("<font color=\"#7c71d8\">"
            + "Count , type , color , size, gitter ... " + "</font>"));
    // workaround for Android bug 5351628
    particleSettings.setOnPreferenceClickListener(
            new OnPreferenceClickListener() {
                @Override
                public boolean onPreferenceClick(Preference pref) {
                    final PreferenceScreen screen = (PreferenceScreen) pref;
                    screen.getDialog().setTitle(null);
                    return false;
                }
            });

希望能帮助到你! 🙂

点赞