PreferenceScreen修改背景颜色

PreferenceScreen修改背景颜色

因项目需要使用PreferenceScreen,类似系统中的设置功能,但是需要设置自定义背景,修改PreferenceScreen中的文本的字体颜色等;可以以下做法:


1:在values目录下新建styles.xml(目录下无styles.xml),内容如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>    
    <style name="perference_set_activity">
 <item name="android:windowBackground">@drawable/bg01</item>  <!-- 窗口背景 -->
 <item name="android:focusable">false</item>
 <item name="android:textColor">#ff000000</item> <!-- 字体颜色 -->
 <item name="android:colorBackgroundCacheHint">#00000000</item> <!-- 背景缓存色透明,避免拖动全黑 -->
 <item name="android:windowNoTitle">false</item> <!-- 是否有标题 -->
    </style>
</resources>

2:在manifest.xml中的相应activity中配置,如:
<activity android:name=".MainActivity" android:theme="@style/perference_set_activity"/>

也可以在onCreate(...)中setTheme(R.style.perference_set_activity),但是此方法必须放在super.onCreate(icicle)之前,否则会出现如背景丢失等错误。


用法就是如此简单,关键在设置 <item name="android:colorBackgroundCacheHint">#00000000</item> <!-- 背景缓存色透明,避免拖动全黑 -->

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PreferenceScreenAndroid 中的一个 UI 组件,它提供了一种结构化的方式来呈现应用程序的设置选项。它是 Preference 类的子类,可以包含多个 Preference 类的实例,例如 CheckBoxPreference、EditTextPreference 等。当用户点击 PreferenceScreen 中的某个选项时,会进入一个新的 PreferenceScreen 或者打开一个 Dialog,让用户进行相应的设置。 在实现 PreferenceScreen 的时候,需要在布局文件中使用 PreferenceScreen 标签,如下所示: ```xml <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 包含多个 Preference 类的实例 --> </PreferenceScreen> ``` 在 java 代码中,可以使用 PreferenceFragment 或者 PreferenceActivity 来管理 PreferenceScreen。 PreferenceFragment 是一个 Fragment,它可以被添加到 Activity 中。在 PreferenceFragment 中,可以通过调用 addPreferencesFromResource(int) 方法来加载一个 PreferenceScreen 布局文件。例如: ```java public class MyPreferenceFragment extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } } ``` PreferenceActivity 是一个 Activity,它继承自 ListActivity。在 PreferenceActivity 中,可以通过调用 addPreferencesFromResource(int) 方法来加载一个 PreferenceScreen 布局文件。例如: ```java public class MyPreferenceActivity extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } } ``` 需要注意的是,从 Android 11 开始,推荐使用 PreferenceFragmentCompat 替代 PreferenceFragment。PreferenceFragmentCompat 是一个兼容库,可以在 Android 4.0 及以上版本中使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值