刚刚学习了android中preferenceActivity的使用,下面贴出自己的程序代码片段,希望对大家有用。呵呵,也是刚刚开始研究每多久,希望能和大家多多交流。
android通过配置文件自动生成PreferenceActivity界面
在res文件夹下创建xml/setting_preferences.xml文件,然后创建类继承PreferenceActivity就可以了
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/inner_picture">
<ListPreference android:key="listpreference_picsize"
android:title="@string/inner_picture"
android:summary="@string/inner_picture_summary"
android:entries="@array/pic_size_list"
android:entryValues="@array/pic_sizevalue_list"
android:dialogTitle="@string/dialog_title"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/channel_change">
<PreferenceScreen android:title="@string/select_change"
android:summary="热门频道为:即时新闻 要闻 国际"
android:key="change_channel">
</PreferenceScreen>
</PreferenceCategory>
<PreferenceCategory android:title="@string/font_size">
<ListPreference android:key="listpreference_fontsize"
android:title="@string/font_size"
android:summary="@string/font_size_summary"
android:entries="@array/font_size_list"
android:entryValues="@array/font_sizevalue_list"
android:dialogTitle="@string/dialog_title"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/user_message" >
<PreferenceScreen android:title="錄入用戶個人資料">
<EditTextPreference android:key="edittext_preference_name"
android:summary="請輸入您的姓名"
android:dialogTitle="@string/dialog_input_title"></EditTextPreference>
<EditTextPreference android:key="edittext_preference_email"
android:summary="請輸入您的郵件地址"
android:dialogTitle="@string/dialog_input_title"></EditTextPreference>
<EditTextPreference android:key="edittext_preference_phone"
android:summary="請輸入您的電話號碼"
android:dialogTitle="@string/dialog_input_title"></EditTextPreference>
</PreferenceScreen>
</PreferenceCategory>
</PreferenceScreen>
类的实现
public class SettingPreferenceActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
private static final String KEY_FOR_CHANNEL_CHANGE_PREFERENCE="change_channel";
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
Preference preference) {
if(preference.getKey()!=null&&preference.getKey().equals(KEY_FOR_CHANNEL_CHANGE_PREFERENCE)){
Intent intent = new Intent(this,ChannelSelectActivity.class);
startActivity(intent);//点击PreferenceScreen 跳转至其它Activity
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.seting_preferences);
// requestWindowFeature(Window.FEATURE_NO_TITLE);
}
}
preference有不同的格式,如EditTextPreference、ListPreference、CheckBoxPreference等类型
当选择或是输入不同的值时,他们的值会自动保存到sharedpreferences中,当值发生改变的时候会触发
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
}
可以通过各个preference的key来得到对象,从而得到所选中的值
ListPreference listPreferencePicsizes=(ListPreference)findPreference("listpreference_picsize");//內嵌圖片大小設置
listPreferencePicsizes.setSummary("当前图片大小为:"+getText(listPreferencePicsizes));
String getText(Preference p)
{
String value;
try
{
if (p instanceof ListPreference)
{
value = ((ListPreference) p).getValue();
CharSequence[] entries = ((ListPreference) p).getEntries();
CharSequence[] entryValues = ((ListPreference) p).getEntryValues();
for (int i = 0;i<entryValues.length;i++)
{
if (value.equals( (String)entryValues[i]))
return (String)entries[i];
}
}
else if (p instanceof EditTextPreference)
{
return ((EditTextPreference) p).getText();
}
}
catch(Exception e)
{
return "";
}
return "";
}
分享到:
相关推荐
PreferenceActivity用法简介 Android X
本教程将深入探讨如何在Android应用中使用PreferenceActivity及其组件。 首先,让我们了解PreferenceActivity的基本概念。PreferenceActivity是Android SDK提供的一种特殊Activity类型,它专门用于展示和处理用户...
它的使用方式与`PreferenceActivity`类似,但更易于在现代Android项目中集成。 总结一下,`PreferenceActivity`是Android中构建设置界面的便捷工具。通过XML定义偏好项,结合`addPreferencesFromResource()`加载,...
在Android开发中,`PreferenceActivity`是用于创建用户设置界面的一种特殊类型的Activity。它使得开发者可以轻松地构建具有各种设置选项的界面,如开关、单选按钮、复选框等,而无需从头编写大量的XML和Java代码。...
通过使用PreferenceActivity,开发者可以方便地创建出具有标准Android风格的设置界面,而无需手动设计布局。它将XML定义的偏好项与Activity中的代码逻辑关联起来,使得UI元素的操作变得简单易行。 要使用...
如果你需要支持低版本Android,仍然可以使用PreferenceActivity,但在新项目中,推荐使用PreferenceFragment。 标签"源码"意味着我们需要理解PreferenceActivity和Preference相关类的内部实现。通过阅读源码,我们...
PreferenceFragment提供了与PreferenceActivity相似的功能,但它可以嵌入到其他Activity中,更适合在现代Android应用中使用。 在实际开发中,我们可能会遇到需要自定义Preference的情况,比如需要添加额外的事件...
### Android之PreferenceActivity详解 #### 一、PreferenceActivity概述 **PreferenceActivity** 是Android系统提供的一种专门用于展示和管理应用设置界面的Activity。它能够帮助开发者快速构建美观且功能丰富的...
android PreferenceActivity中的组件源码~
标题与描述均提及了《Android中PreferenceActivity详解》,这一主题涉及了Android开发中关于...掌握PreferenceActivity的使用,对于任何希望提升应用定制化程度和用户满意度的Android开发者来说,都是不可或缺的技能。
在Android开发中,`PreferenceActivity`是用于创建设置界面的一个重要组件。它是Android SDK提供的一种特殊类型的Activity,专门用于展示用户可配置的设置项。在深入理解`PreferenceActivity`之前,我们先要明白`...
PreferenceActivity在Android开发中主要用于构建设置界面,类似于iOS中的偏好设置。它是一个特殊的Activity,用于展示和管理用户配置项,通常包含各种可交互的控件,如开关按钮、列表选择和输入框等,用于保存用户的...
虽然Android 3.0(API级别11)之后推荐使用`PreferenceFragment`替代`PreferenceActivity`,但仍然可以通过自定义布局和重写方法来实现`PreferenceActivity`的高级定制。例如,可以覆盖`onCreateHeaderView`来创建...
### Android之PreferenceActivity详解 #### 一、Introduction 在Android开发过程中,经常需要为应用提供一个用户可配置的界面,以便于用户能够调整各种设置。PreferenceActivity正是Android平台提供的一个非常实用...
在Android开发中,UI设计是至关重要的一环,而PreferenceActivity是Android系统提供的一种用于构建设置界面的特殊Activity。本篇文章将深入探讨如何利用PreferenceActivity来创建用户交互界面,特别是涉及开启WiFi和...
"仿IOS的PreferenceActivity界面"就是一个这样的实践,它主要涉及到Android的Preference类和Activity的使用,以及UI样式的美化。PreferenceActivity是Android系统提供的一种用于展示设置界面的特殊Activity,它能够...
使用 PreferenceActivity设置个性信息, 参考:android 设置类PreferenceActivity http://blog.csdn.net/xiaobijia/article/details/41479235
标题中的“继承PreferenceActivity”指的是在Android开发中,利用`PreferenceActivity`类来构建设置界面。`PreferenceActivity`是Android SDK提供的一种特殊类型的Activity,它主要用于创建和展示一系列的偏好设置,...