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);

截图是:



更多相关文章

  1. Android(安卓)MPAndroidChart--使用柱状图
  2. Android(安卓)TextView 属性设置
  3. Android清除缓存功能实现
  4. 【Android(安卓)进阶】Android(安卓)Home 键监听
  5. Android学习笔记35——ProgressBar进度控件详解
  6. Android(安卓)Dialog全屏显示
  7. 你还在问android横竖屏切换的生命周期?
  8. TextView属性大全+单行显示长文本
  9. android绘图

随机推荐

  1. android > 屏蔽掉返回键
  2. android menu自定义菜单 Demo
  3. android 监听其它app的错误或者崩溃的方
  4. android java 文件的读写
  5. Android(安卓)ContextMenu和Listview配合
  6. Android之关于Intent的Flag属性的讲解
  7. How to fix the Android(安卓)AVD no tar
  8. OnclickListener与View.OnclickListener
  9. Android(安卓)studio3.1.2 坑——3rd-par
  10. Android(安卓)Event.getX 与getRawX的区