写一个系统的设置界面,将其设置样式就可以了
先建一个SettingActivity工程:
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cn.nj.setting"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".SettingActivity"
android:theme="@style/Default" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
在res/xml/setting_preference.xml
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory android:title="消息通知" >
<CheckBoxPreference
android:defaultValue="true"
android:key="开启声音"
android:summary="当有新消息通知时播放声音提示"
android:title="开启声音" />
<CheckBoxPreference
android:defaultValue="true"
android:key="开启震动"
android:summary="当有新消息通知时震动提示"
android:title="开启震动" />
</PreferenceCategory>
<PreferenceCategory android:title="辅助功能" >
<CheckBoxPreference
android:defaultValue="false"
android:key="开启截屏功能"
android:summary="摇晃手机即可截图(在QQ外截图需root权限)"
android:title="开启截屏功能" />
<CheckBoxPreference
android:defaultValue="false"
android:key="上报我的地理位置"
android:summary="上报地理位置信息以便附近的人能够找到我"
android:title="上报我的地理位置" />
</PreferenceCategory>
<PreferenceCategory android:title="帮助" >
<PreferenceScreen
android:summary="反馈建议"
android:title="反馈建议" >
<intent
android:action="android.intent.action.VIEW"
android:data="http://www.baidu.com" />
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>
在res/values/style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CustomWindowTitleText" >
<item name="android:textSize">20dip</item>
<item name="android:textColor">#FFffffff</item>
<item name="android:paddingLeft">10dp</item>
</style>
<style name="customCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/selector_checkbox</item>
</style>
<style name="Default.NoTitleBar" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:textColorPrimaryInverse">@android:color/black</item>
<item name="android:windowBackground">@color/window_bg</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTitleSize">42.0dip</item>
<item name="android:windowTitleStyle">@style/CustomWindowTitleText</item>
<item name="android:checkboxStyle">@style/customCheckBox</item>
</style>
<style name="Default" parent="@style/Default.NoTitleBar">
<item name="android:windowNoTitle">false</item>
</style>
</resources>
<!-- item name=android:textColorPrimaryInverse preference标题文本颜色 -->
<!-- item name="android:windowBackground" 窗体背景 -->
<!-- item name=android:windowTitleBackgroundStyle 窗体标题背景风格-->
<!-- item name="android:windowTitleSize" 窗体标题栏高度-->
<!-- item name="android:listViewStyle" preference是一个LISTVIEW,这里设置该风格-->
<!-- item name="android:textColorPrimary" preference一级文本颜色-->
<!-- item name="android:textColorSecondary" preference二级文本颜色-->
在res/drawable/selector_checkbox.xml
<?xml version="1.0" encoding="UTF-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false" android:drawable="@drawable/checkbox_unchecked" />
<item android:state_checked="true" android:drawable="@drawable/checkbox_checked" />
</selector>
在res/drawable/checkbox_checked.xml
<?xml version="1.0" encoding="UTF-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<solid android:color="#ffecf6fb" />
<stroke android:width="1.0dip" android:color="#ffb3cad9" />
<padding android:left="5.0dip" android:top="5.0dip" android:right="5.0dip" android:bottom="5.0dip" />
</shape>
</item>
<item>
<shape>
<solid android:color="#ff99c308" />
<padding android:left="5.0dip" android:top="5.0dip" android:right="5.0dip" android:bottom="5.0dip" />
</shape>
</item>
<item>
<shape>
<solid android:color="#ffffffff" />
</shape>
</item>
</layer-list>
在res/drawable/checkbox_unchecked.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape android:shape="rectangle"
xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffecf6fb" />
<stroke android:width="1.0dip" android:color="#ffb3cad9" />
<size android:height="18.0dip" android:width="18.0dip" />
</shape>
SettingActivity:
package com.cn.nj.setting;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class SettingActivity extends PreferenceActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
addPreferencesFromResource(R.xml.setting_preference);
}
}
运行效果如下:
代码下载地址为:http://download.csdn.net/detail/niejing654092427/4409630