平板电脑上的偏好设置显示不正确

3

我正在使用一个PreferenceFragment,并在PreferenceFragment的onCreate方法中从xml加载偏好设置:

     @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的屏幕截图: enter image description here 以下是来自GalaxyTab的屏幕截图: enter image description here 如您所见,在首选项视图中,横向模式下存在奇怪的边框或边框。
有什么想法为什么会出现这种情况以及如何解决?
编辑:
我现在在我的首选项中实现了一个子屏幕,并且它被正确显示: enter image description here 如果我按上按钮返回到我的主要偏好设置页面,仍然存在奇怪的框架/边框。
我担心这不会太有帮助,但这是我偏好设置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>

“frame/border” 只有在横屏时才存在吗?还有,明确声明 android:layout_width="fill_parent"PreferenceScreen 上是否有任何区别? - Rudi Kershaw
@RudiKershaw:问题只在横屏模式下出现。我已经尝试过android:layout_width="fill_parent",但也没有起作用。 - user1567896
1个回答

4

我完全不知道为什么这个能够工作,但它确实可以 :)...谢谢! - user1567896

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接