类似系统设置的sharedPreferences

来源:互联网 发布:江苏网络问政 编辑:程序博客网 时间:2024/05/21 09:36

首先新建一个文件xml,建立preferen.xml文件

<PreferenceScreen
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
    <PreferenceCategory
        android:title="页面设置">
        <ListPreference
            android:key="set_font"
            android:selectable="true"
            android:title="字体"
            android:summary="设置的字体大小"
            android:dialogTitle="字体大小"
            android:entries="@array/font_text"
            android:entryValues="@array/font_values"
            />
        <ListPreference
            android:key="set_ge"
            android:selectable="true"
            android:title="文字分段"
            android:summary="分段设置"
            android:dialogTitle="文字分段"
            android:entries="@array/text_separator"
            android:entryValues="@array/text_values"
            />
        <ListPreference
            android:key="set_image"
            android:title="图片模式"
            android:summary="模式"
            android:dialogTitle="设置图片"
            android:entries="@array/image_set"
            android:entryValues="@array/image_vales"
            />
        <CheckBoxPreference
            android:title="自动横屏"
            android:defaultValue="false">
            
        </CheckBoxPreference>
    </PreferenceCategory>
    <PreferenceCategory
        android:title="网络设置">
        <ListPreference
            android:key="set_user"
            android:title="用户代理"
            android:dialogTitle="用户代理"
            android:summary="代理设置"
            android:entries="@array/user"
            android:entryValues="@array/user_values"/>
        <ListPreference
            android:key="set_severve"
            android:title="代理服务设置"
            android:dialogTitle="服务设置"
            android:summary="服务设置"
            android:entries="@array/server"
            android:entryValues="@array/server_values"/>
    </PreferenceCategory>
    <PreferenceCategory
        android:title="浏览器设置">
        <CheckBoxPreference
             android:key="set_yudu"
             android:summaryOn="启用"
             android:defaultValue="true"
             android:summaryOff="停用"
            android:title="启用预读模式"/>
        <CheckBoxPreference
             android:key="set_accept"
             android:summaryOn="接收"
             android:summaryOff="不接收"
             android:defaultValue="false"
             android:title="接收弹出资讯"/>
        <CheckBoxPreference
             android:key="set_wap"
             android:summaryOn="中转"
             android:summaryOff="不中转"
             android:defaultValue="true"
             android:title="WAP压缩中转"/>
        <ListPreference
            android:key="set_button"
            android:title="翻页按钮设置"
            android:summary="按钮设置"
            android:entries="@array/button"
            android:entryValues="@array/button_values"/>        
    </PreferenceCategory>
    <PreferenceCategory
        android:title="缩放设置">
        <CheckBoxPreference
             android:key="set_zoom"
             android:summaryOn="启用缩放"
             android:defaultValue="true"
             android:summaryOff="不启用"
             android:title="启用缩放模式"/>
        <CheckBoxPreference
            android:key="set_auto"
            android:summaryOn="适应"
            android:summaryOff="不适应"
            android:defaultValue="true"
            android:title="文字自动适应屏幕"/>
        <CheckBoxPreference
            android:key="set_java"
            android:defaultValue="true"
            android:title="启用javaScript"/>
        <CheckBoxPreference
            android:key="set_password"
            android:summaryOn="保存"
            android:defaultValue="false"
            android:summaryOff="不保存"
            android:title="保存密码"/>
        <ListPreference
            android:key="set_clear"
            android:title="清除密码"
            android:summary="按钮设置"
            android:entries="@array/all"
            android:entryValues="@array/all_values"/>        
    </PreferenceCategory>
    
    <PreferenceCategory
        android:title="清除设置">
        
        <ListPreference
            android:key="set_caches"
            android:title="清除缓存"
            android:dialogTitle="清除缓存"
            android:dialogMessage="你确定删除所有缓存"
            android:positiveButtonText="确定"
            android:negativeButtonText="取消"
            android:entries="@array/all"
            android:entryValues="@array/all_values"
            />  
        <ListPreference
            android:key="set_cookies"
            android:title="清除cookies"
            android:dialogTitle="清除cookies"
            android:dialogMessage="你确定删除所有cookies"
            android:positiveButtonText="确定"
            android:negativeButtonText="取消"
            android:entries="@array/all"
            android:entryValues="@array/all_values"
            />
         
        <ListPreference
            android:key="set_form"
            android:title="清除表单信息"
            android:dialogTitle="清除表单信息"
            android:dialogMessage="你确定删除所有表单信息吗"
            android:positiveButtonText="确定"
            android:negativeButtonText="取消"
            android:entries="@array/all"
            android:entryValues="@array/all_values"
            />
        <ListPreference
            android:key="set_history"
            android:title="清除历史记录"
            android:dialogTitle="清除历史记录"
            android:dialogMessage="你确定删除所有历史记录"
            android:positiveButtonText="确定"
            android:negativeButtonText="取消"
            android:entries="@array/all"
            android:entryValues="@array/all_values"
            />       
    </PreferenceCategory>
    <PreferenceCategory
        android:title="恢复设置">
        <ListPreference
            android:key="set_comeback"
            android:title="恢复默认设置"
            android:dialogTitle="恢复默认设置"
            android:dialogMessage="你确定恢复所有设置"
            android:positiveButtonText="确定"
            android:negativeButtonText="取消"
            android:entries="@array/all"
            android:entryValues="@array/all_values"
            />
      </PreferenceCategory>
</PreferenceScreen>

然后在Activity中显示首先要继承PreferenceActivity而不是继承Activity

public class PreFerenceDemo extends PreferenceActivity {

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.addPreferencesFromResource(R.xml.preference);

//标题

PreFerenceDemo.this.setTitle("系统设置");
        mContext=this;
        
        //页面设置

//加载实例化
         set_font=(ListPreference)findPreference("set_font");
         set_ge=(ListPreference)findPreference("set_ge");
         set_image=(ListPreference)findPreference("set_image");
        //网络设置
         set_user=(ListPreference)findPreference("set_user");
         set_server=(ListPreference)findPreference("set_server");

//设置点击事件

       set_yudu.setOnPreferenceClickListener(new onPreferenceClickListenerYudu());
        set_yudu.setOnPreferenceChangeListener(new onPreferenceChangeListenerChangeYudu());
        set_accept.setOnPreferenceClickListener(new onPreferenceClickListenerAccept());


 private class onPreferenceClickListenerYudu implements OnPreferenceClickListener{

        public boolean onPreferenceClick(Preference preference) {
            // TODO Auto-generated method stub
            return false;
        }
        
    }
    
    private class onPreferenceChangeListenerChangeYudu implements OnPreferenceChangeListener{

        public boolean onPreferenceChange(Preference preference, Object newValue) {
            // TODO Auto-generated method stub
            return false;
        }
        
    }

原创粉丝点击