作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我看到了很多关于这个问题的答案和线程,以及关于如何创建自定义 PreferenceCategory 的教程。什么都不适合我。我的主题只是没有应用。
PreferenceActivity 类:
public class PreferencesActivity extends PreferenceActivity{
private MyPreferenceFragment preferences;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
preferences = new MyPreferenceFragment();
getFragmentManager().beginTransaction().replace(android.R.id.content, preferences).commit();
}
public static class MyPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.layout.mypreferences);
}
}
}
安卓 list :
<activity android:name="com.gpsy.preferences.PreferencesActivity"
android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation"
android:theme="@style/Custom">
</activity>
样式.xml:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="PreferenceListHeader" >
<item name="android:textColor">#000000</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">12sp</item>
<item name="android:background">@color/Gray</item>
<item name="android:paddingTop">6dp</item>
<item name="android:paddingBottom">6dp</item>
<item name="android:paddingLeft">12dp</item>
</style>
<style name="Custom" parent="@android:Theme.Light.NoTitleBar">
<item name="android:listSeparatorTextViewStyle">@style/PreferenceListHeader</item>
</style>
</resources>
我的首选项.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<PreferenceCategory
android:title="@string/gps_settings">
<ListPreference
android:key="nav_systems_preference"
android:title="@string/my_nav_app"
android:summary="summary_checkbox_preference"/>
</PreferenceCategory>
</PreferenceScreen>
此外,我尝试通过以下方式应用主题但没有成功:
setTheme(R.style.Custom);
尝试将 PreferenceCategory 标签更改为
<PreferenceCategory android:widgetLayout="@style/Custom"
android:title="@string/gps_settings">
最佳答案
您的主题不工作,因为您没有设置 android:layout_width
和 android:layout_weight
也不能从 parent 那里继承(未给出)。
对于 <style name="PreferenceListHeader" >
,只需添加以下内容:
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
你不需要setTheme(R.style.Custom);
或 android:widgetLayout="@style/Custom"
然后。您不能为 android:widgetLayout
提供样式, 反正。您必须提供仅包含 TextView 的布局资源。但如果您选择使用样式(见上文),则无需设置布局。
关于java - PreferenceCategory 主题不适用于 PreferenceScreen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16211500/
我是一名优秀的程序员,十分优秀!