3

我正在使用 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>
4

1 回答 1

4

确保您的活动扩展了 Activity,而不是 PreferenceActivity。当我从这里使用建议时,我也有同样的情况在 PreferenceActivity 中使用什么来代替“addPreferencesFromResource”?

于 2014-03-04T18:01:49.073 回答