Я использую 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>
android:layout_width="fill_parent"
наPreferenceScreen
? - person Rudi Kershaw   schedule 27.02.2014android:layout_width="fill_parent"
, но он тоже не работает. - person user1567896   schedule 27.02.2014