关于PreferenceActivity的使用和一些问题的解决(自定义Title和取值)
来源:互联网 发布:量化交易数据 编辑:程序博客网 时间:2024/06/01 18:48
android的Setting往往用PreferenceActivity来写的
我们在建立layout文件:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"><PreferenceCategory android:title="常规设置" android:key="set_local"><CheckBoxPreference android:key="new_message_notify" android:title="新消息通知" android:defaultValue="true" android:summary="收到新消息时是否需要通知" /> <RingtonePreference android:layout="?android:attr/preferenceLayoutChild" android:dependency="new_message_notify" android:key="account_ringtone" android:title="铃声" android:ringtoneType="notification" android:defaultValue="content://settings/system/notification_sound" /> <CheckBoxPreference android:layout="?android:attr/preferenceLayoutChild" android:dependency="new_message_notify" android:key="account_vibrate" android:defaultValue="false" android:title="振动"/></PreferenceCategory><PreferenceCategory android:title="个人设置" android:key="personal_local"><Preference android:key="clear_cache"android:summary="点击将清理应用程序的缓存" android:title="清除缓存" defaultValue="false"></Preference><CheckBoxPreference android:key="save_setting"android:summary="下次开启记住个人设置" android:title="保存个人设置" android:defaultValue="true"></CheckBoxPreference><EditTextPreference android:key="edit_text" android:title="Edit" android:summary="EditTextPreference"></EditTextPreference><SwitchPreference android:key="switch" android:summary="SwitchPreference"></SwitchPreference><ListPreference android:key="list" android:summary="ListPreference" android:entries="@array/entry" android:entryValues="@array/entry_value" android:title="ListTitle"></ListPreference><MultiSelectListPreference android:summary="MultiSelectListPreference" android:key="mutiSelect" android:entries="@array/entry" android:entryValues="@array/entry_value" android:title="mutiTitle" /></PreferenceCategory></PreferenceScreen>
类的代码如下:
public class Settings extends PreferenceActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {//这个是给Settings加自定义Titlefinal boolean isCustom = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);super.onCreate(savedInstanceState);if(isCustom){getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title_list);}TextView title_text = (TextView)findViewById(R.id.title_text);title_text.setText("Settings");Button back = (Button)findViewById(R.id.back);back.setVisibility(View.VISIBLE);back.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {finish();}});addPreferencesFromResource(R.xml.seting_preferences);}}
定义themes,把这个activity的theme设置成以下的样子
<style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <!-- 避免重复设置标题 --> <item name="android:windowActionBar">false</item> <!-- 设置标题栏宽度 --> <item name="android:windowTitleSize">60dp</item> //titlebar的高度 <!-- <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> --> </style>
SharedPreferences shp = PreferenceManager.getDefaultSharedPreferences(this);String s = shp.getString("list", null); //这个是取ListPreferenceTextView listData = (TextView)findViewById(R.id.listData);listData.setText(s);HashSet set = (HashSet) shp.getStringSet("mutiSelect", null); //这个是取MultiSelectListPreference的值Iterator<String> it = set.iterator();String content = "";while(it.hasNext()) {content += it.next()+",";}TextView muti_select_data = (TextView)findViewById(R.id.muti_select_data);muti_select_data.setText(content);
截图是:
0 0
- 关于PreferenceActivity的使用和一些问题的解决(自定义Title和取值)
- PreferenceActivity的学习和使用
- 关于设置navigationController title 和 TabBarController title 的问题
- mybatis 关于#{}和${}取值的问题
- 关于struct结构的取地址和取值问题
- activity的子类使用:launcheractivity和preferenceactivity
- Jquery如何给网页的title取值和赋值
- 关于postgresql自定义函数和触发器的一些问题
- 自定义UIButton的title和image位置
- 自定义Button的图片和title位置
- 关于在Java使用反射对属性取值和赋值的性能问题。
- 关于引入jQuery文件和使用jQuery取同胞兄弟的值问题
- PreferenceActivity 问题和定制
- Android的设置界面:SharedPreferences和PreferenceActivity的使用
- 自定义PreferenceActivity的样式
- 自定义PreferenceActivity的样式
- PreferenceActivity的简单自定义
- 一些关于style和attr的使用问题
- html常用的行内元素和块级元素
- 使用myeclipse将Java项目打成jar包遇到classnotfound的问题解决办法
- 项目经验:oracle 日期查询 to_char()
- 经纬财富:延安现货交易优势和常识
- DateDiff函数
- 关于PreferenceActivity的使用和一些问题的解决(自定义Title和取值)
- DLL窗体停靠后,窗体中的listview ,Memo 提示"no parent"错误的解决办法
- 函数可重入性及编写规范
- fatal error C1189: #error : MFC does not support WINVER less than 0x0501.
- Anagrams
- js 实现YYYY-MM-DD日期加上天数得到新的日期
- 【浅析java中的自动装箱和拆箱操作】浅析java中的自动装箱和拆箱操作
- 教大家下载Windows Phone 8的Toolkit(高手勿喷)
- android权限大全[转]