0

全部,

我是使用 PreferenceActivity 的新手,最终让它工作。但是,我遇到的问题是在我的首选项之后有一个难看的空白。我尝试应用样式并将背景颜色设置为黑色。然而,这并没有奏效。任何帮助,将不胜感激。我在下面附上了一些代码和屏幕截图。

谢谢

public class EditPref extends PreferenceActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    addPreferencesFromResource(R.xml.preferences);

}

}

样式xml代码:

  <?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="editPref">
       <item name = "android:background">#FF000000</item>





    </style>

</resources>

附件是首选项 xml 文件。

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android">
    <CheckBoxPreference
        android:key="checkbox"
        android:title="Checkbox Preference"
        android:summary="Check it on, check it off" />
    <RingtonePreference
        android:key="ringtone"
        android:title="Ringtone Preference"
        android:showDefault="true"
        android:showSilent="true"

        android:summary="Pick a tone, any tone" />
</PreferenceScreen>

我正在为 API 10 开发。

在此处输入图像描述

4

1 回答 1

2

ActivityManifest.xml 中的 Activity 声明是什么样的?更具体地说,您使用的是什么主题?我发布了一个相关的 SO 帖子的解决方案,但基本上你应该能够通过在 API 级别 10+ 上为 ListViews设置overScrollFooter来摆脱丑陋的空白。@null

我遇到了同样的问题,只是写了一篇更详细的博客文章,但尝试使用它(当然,用你使用的主题代替父级):

res/values/styles.xml

<style name="MyListView" parent="@android:style/Widget.ListView">
</style>

res/values-v10/styles.xml

<style name="MyListView" parent="@android:style/Widget.ListView">
    <item name="android:overScrollFooter">@null</item>
</style>

将您的主题设置为使用新的 ListView 样式:

<style name="Theme.MyPreferences" parent="android:Theme.Holo">
    <item name="android:listViewStyle">@style/MyListView</item>
</style>

在您的 AndroidManifest.xml 中,声明 EditPref Activity 以使用新主题。类似于以下内容:

<activity
    android:name=".EditPref"
    android:theme="@style/Theme.MyPreferences" /> 
于 2012-06-04T18:56:55.353 回答