所有
我是使用PreferenceActivity的新手,最终让它发挥作用。但是,我遇到的问题是在我的偏好项目之后有一个丑陋的空白区域。我尝试应用样式并将背景颜色设置为黑色。但是,这不起作用。任何帮助,将不胜感激。我在下面附上了一些代码和截图。
THX
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开发。
答案 0 :(得分:2)
ActivityManifest.xml中的Activity声明是什么样的?更具体地说,你使用的主题是什么?我发布了related SO post的解决方案,但基本上你应该能够通过在API级别10 +上为ListViews设置overScrollFooter
到@null
来摆脱丑陋的空白区域。
我遇到了同样的问题,只是写了一个更详细的blog post,但尝试使用它(当然替换你用于父母的主题):
RES /值/ styles.xml
<style name="MyListView" parent="@android:style/Widget.ListView">
</style>
RES /值-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" />