android实现用户选项和设置界面
来源:互联网 发布:拷贝网站软件 编辑:程序博客网 时间:2024/06/08 18:17
1. 在资源文件的xml文件夹(如不存在就自己创建)下面创建headers_preferences.xml文件
<?xml version="1.0" encoding="UTF-8"?><preference-headers xmlns:android="http://schemas.android.com/apk/res/android"> <header android:fragment="com.example.usersetting.SettingsActivity$SettingsFragment" android:title="Prefs 1" android:summary="An example of some preferences." /></preference-headers>
2. 在PreferenceActivity类中加载该文件
<pre name="code" class="java">@Overridepublic void onBuildHeaders(List<Header> target) {//加载headers布局loadHeadersFromResource(R.xml.headers_preferences, target);}
3. 并且在PreferenceActivity类中创建PreferenceFragment类来加载具体布局
public static class SettingsFragment extends PreferenceFragment {<span style="white-space:pre"></span>private static final String TAG = "SettingsFragment"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Can retrieve arguments from headers XML. Log.i(TAG,"设置默认值"); PreferenceManager.setDefaultValues(getActivity(), R.xml.settings_preferences, false); // Load the preferences from an XML resource addPreferencesFromResource(R.xml.settings_preferences); } }该fragment使用addPreferencesFromResource方法加载xml文件,其布局文件代码如下:
<?xml version="1.0" encoding="UTF-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="@string/settings_title"> <CheckBoxPreference android:title="@string/wifi_title" android:key="wifiTitle" android:defaultValue="true" /> <CheckBoxPreference android:title="@string/wifi_title" android:defaultValue="false" /> <EditTextPreference android:key="edittext_preference" android:title="@string/edit_title" android:summary="@string/edit_summary" android:dialogTitle="@string/edit_dialog_title" /> </PreferenceCategory></PreferenceScreen>设置默认值问题:
1. 可以在PreferenceFragment对应的布局文件中设置默认值,即设置组件的defalueValue属性
2. 可以使用SharedPreferences来设置默认值,利用key/value形式
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());preferences.getBoolean("wifiTitle", false);SharedPreferences.getBoolean方法在xml文件中没有设置默认值时生效,如:CheckBoxPreference设置了defalueValue属性,加载时就依照该属性;没有设置defaultValue属性,则getBoolean自动设置其属性,保存在偏好文件中
3. 当用户自身修改了默认值,PreferenceFragment会自动保存其修改的值
0 0
- android实现用户选项和设置界面
- 用户选项和设置用户界面
- Android设置界面实现
- Android实现用户引导界面
- Android实现用户引导界面
- Android PreferenceFragment实现设置界面
- Android 铃声设置界面,起始位置为当前已选项
- android 蓝牙设置界面高级选项功能解析
- Android 铃声设置界面,起始位置为当前已选项
- android 选项卡界面
- Google用户登录界面 Android实现
- Android 用户注册界面的实现
- Android 用户反馈界面的实现
- 设置界面--多选项--ListPreference
- Android断网后让用户进入到系统设置界面设置网络
- [Android界面0]图标选项卡效果,用TabActivity实现
- Android UI设计 选项卡实现界面切换
- Android程序——使用选项卡实现界面切换
- 字符数组
- Winform窗口的自动化生成和自动化配置
- Geoserver安装部署
- word文档中的固定行距和单倍行距
- 白话压缩感知(含Matlab代码)
- android实现用户选项和设置界面
- 从iOS证书申请到签名文件生成
- Java静态变量和构造函数的执行顺序
- Java方法详解
- 计算程序或方法的运行时间
- OpenCV基础篇之绘图及RNG随机数对象
- fork()、 vfork()、 clone()的区别
- VSS (Visual Source Safe 2005) 用法详解
- 第二章 线性表知识导图