Предпочтения не отображаются правильно на планшете

Я использую PreferenceFragment и загружаю предпочтение из xml в onCreate-Method PreferenceFragment:

     @Override
     public void onCreate(Bundle savedInstanceState) 
     {
      ...
      addPreferencesFromResource(R.xml.preferences_base);
      PreferenceManager.setDefaultValues(getActivity(), R.xml.preferences_base, false);  
      ...
     }

Это выдержка из файла preference_base.xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
        <CheckBoxPreference
            android:key="boolStartSettings"
            android:title="@string/prefBoolStartSettings"
            android:summary="@string/prefBoolStartSettingsSummary"
            android:defaultValue="false"/>

...

</PreferenceScreen>

Это отлично работает и, как и ожидалось, в симуляторе и на моем Galaxy S4. Сегодня я протестировал приложение на GalaxyTab, и теперь настройки отображаются неправильно:

Вот скриншот моего Galaxy S4: введите здесь описание изображения

а вот скриншот из GalaxyTab введите здесь описание изображения

Как видите, в ландшафтном режиме в представлении предпочтений есть странная рамка или граница.

Любая идея, почему это происходит и как это решить?


ИЗМЕНИТЬ:

Теперь я реализовал подэкран настроек в своих настройках, и он отображается правильно: введите описание изображения здесь

Если я нажму кнопку «вверх», чтобы перейти на страницу основных настроек, странная рамка/граница все еще там.

Боюсь, это не очень поможет, но вот выдержка из моих настроек xml с подэкраном:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android">
<!-- not shown correctly -->
...    
    <PreferenceCategory
            android:title="@string/prefKatEffectsAndAnimations">
            <PreferenceScreen
                android:key="@string/keyPrefDetails"
                android:title="@string/prefCmdDetailSettings"
                android:persistent="true">
                    <!-- shown correctly -->
                    ...
            </PreferenceScreen>
    </PreferenceCategory>
...
</PreferenceScreen>

person user1567896    schedule 21.02.2014    source источник
comment
Есть ли «рамка / граница» только в альбомной или портретной ориентации? Кроме того, имеет ли какое-либо значение явное объявление android:layout_width="fill_parent" на PreferenceScreen?   -  person Rudi Kershaw    schedule 27.02.2014
comment
@RudiKershaw: проблема возникает только в ландшафтном режиме. Я проверил android:layout_width="fill_parent", но он тоже не работает.   -  person user1567896    schedule 27.02.2014


Ответы (1)


Убедитесь, что ваша активность расширяет Activity, а не PreferenceActivity. У меня то же самое, когда я использую совет здесь addPreferencesFromResource в PreferenceActivity?

person AndreyICE    schedule 04.03.2014
comment
Я понятия не имею, почему это работает, но это работает :)... Спасибо! - person user1567896; 05.03.2014