我正在使用 aPreferenceFragment
并从 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>