Экран настроек не поддерживает тему NoTitleBar
Моя активность предпочтений имеет категорию предпочтений, которая содержит несколько экранов предпочтений. Экраны добавляются динамически во время выполнения. Я встраиваю каждый в код и добавляю его в группу предпочтений. На самом деле экраны не устанавливают предпочтения на устройстве; вместо этого они делают вызовы на сервер, чтобы установить их там. Это делается путем установки их всех persistent = false и настройки прослушивателя изменения предпочтений для каждого из них.
Моя проблема заключается в следующем: мое приложение не использует строки заголовка. Я отключил их, установив тему "@android:style/Theme.NoTitleBar" в моем манифесте, но, тем не менее, представление, созданное каждым экраном предпочтений в моей работе с предпочтениями, имеет строку заголовка. Его текст соответствует заголовку экрана настроек.
Я не могу просто не устанавливать заголовок, потому что тогда он отсутствует, когда отображается действие предпочтения.
Я попытался установить ресурс макета на PreferenceScreen в коде и использовать этот ресурс с помощью темы NoTitleBar, но когда представление экрана завышено, кажется, что игнорируются все заголовки, резюме и т. Д., Которые я установил в коде (в отличие от ссылочный макет).
Я также попытался установить тему NoTitleBar на макете для действия с предпочтениями, а также для категории предпочтений. Нет эффекта.
Я даже рассмотрел подклассификацию PreferenceScreen и переопределение getView(), чтобы установить всю мою динамическую информацию в представлении до его возвращения, но PreferenceScreen объявлен окончательным.
Мысли?
1 ответ
Это странно!!
Положил requestWindowFeature(Window.FEATURE_NO_TITLE);
в PreferenceActivity