写一个系统的设置界面,将其设置样式就可以了
先建一个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