`

2011.07.11(4)——— android Preferences xml配置

阅读更多
2011.07.11(4)——— android Preferences xml配置

参考:app/preferences
http://www.imobilebbs.com/wordpress/?p=1194

1、preferences基本用法

容器:
PreferenceGroup 可以为多个Preference定义一个组,PreferenceCategory, PreferenceScreen为它的子类。
PreferenceCategory 同样可以包含多个Preferneces ,如果该组被Disable时,可以提供一个标题。
PreferenceScreen 为 Preferences层次结构的根元素,PreferenceScreen可以实现嵌套。内层的PreferenceScreen将会使用一个新的屏幕显示,有点类似于Word中的分页功能。


组件:
CheckBoxPreference 使用Checkbox 来显示某个配置项。
EditTextPreference 使用文本框来显示某个牌子项,允许接受用户输入文本。
ListPreference 使用一组单选钮 (列表)可以从中选择某一项。
MultiSelectListPreference 使用一组Checkbox,允许该配置项有多值。
RingtonPreference 允许用户从选取某个铃声


2、xml定义

CheckBoxPreference

PreferenceCategory定义该组配置的标题,CheckBoxPreference使用Checkbox来显示该配置项。

<PreferenceCategory
android:title=”@string/inline_preferences”>

<CheckBoxPreference
android:key=”checkbox_preference”<!--相当于id-->
android:title=”@string/title_toggle_preference”<!--标题-->
android:summary=”@string/summary_toggle_preference” /><!--描述-->

</PreferenceCategory>



EditTextPreference

EditTextPrefernece显示一个文本框来接受用户输入:

<EditTextPreference
android:key=”edittext_preference”
android:title=”@string/title_edittext_preference”
android:summary=”@string/summary_edittext_preference”
android:dialogTitle=”@string/dialog_title_edittext_preference” /><!--弹出框的标题-->




ListPreference

显示一组单选钮。

<ListPreference
android:key=”list_preference”
android:title=”@string/title_list_preference”
android:summary=”@string/summary_list_preference”
android:entries=”@array/entries_list_preference”<!--列表显示的文字-->
android:entryValues=”@array/entryvalues_list_preference”<!--列表的值-->
android:dialogTitle=”@string/dialog_title_list_preference” />




PreferenceScreen

使用新的屏幕显示该应用程序偏好配置。

<PreferenceScreen
android:key=”screen_preference”
android:title=”@string/title_screen_preference”
android:summary=”@string/summary_screen_preference”>

<!– You can place more preferences here that will be shown on the next screen. –>

<CheckBoxPreference
android:key=”next_screen_checkbox_preference”
android:title=”@string/title_next_screen_toggle_preference”
android:summary=”@string/summary_next_screen_toggle_preference” />

</PreferenceScreen>




除了新起一个屏幕之外,PreferenceScreen也可以用来启动一个Activity,下面定义启动浏览器打开http://www.android.com。

<PreferenceScreen
android:title=”@string/title_intent_preference”
android:summary=”@string/summary_intent_preference”>

<intent android:action=”android.intent.action.VIEW”
android:data=”http://www.android.com” />

</PreferenceScreen>





最后一个例子表示可以定义Preference之间的依赖关系。子Preferences只有在父Preference选中时才被Enable。

<PreferenceCategory
android:title=”@string/preference_attributes”>

<CheckBoxPreference
android:key=”parent_checkbox_preference”
android:title=”@string/title_parent_preference”
android:summary=”@string/summary_parent_preference” />

<!– The visual style of a child is defined by this styled theme attribute. –>
<CheckBoxPreference
android:key=”child_checkbox_preference”
android:dependency=”parent_checkbox_preference”<!--从属于谁-->
android:layout=”?android:attr/preferenceLayoutChild”
android:title=”@string/title_child_preference”
android:summary=”@string/summary_child_preference” />

</PreferenceCategory>




3、java代码:
package com.example.android.apis.app;

import com.example.android.apis.R;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;

public class PreferencesFromXml extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // Load the preferences from an XML resource
        addPreferencesFromResource(R.xml.preferences);//显示出XML所定义的Preferences
    }

}




几个特别的属性:

1、android:dependency=key

从属于谁 后面跟的为android:key的值
只有在Parent preference选中时,子Preference 才可以配置,否则子Preference 被Disabled,显示为灰色。


2、android:defaultValue=“”

在XML中定义Preference的缺省值。


注意:
CheckBoxPreference:通过true或者false来设置初始值
android:defaultValue=”true”

EditTextPreference:通过字符串来设置初始值
android:defaultValue=”@string/default_value_edittext_preference”

ListPreference:通过value的值 也就是android:entryValues来设置初始值
android:defaultValue=”@string/default_value_list_preference”










分享到:
评论

相关推荐

    [android.开发书籍].Beginning.Android.2.(Apress,.2010,.1430226293).pdf

    ■Chapter 4: Using XML-Based Layouts...................................................................................................... 23 ■Chapter 5: Employing Basic Widgets ........................

    CommonsWare.The.Busy.Coders.Guide.to.Android.Development.Version.8.2.2017

    Android, the next-generation open mobile platform from Google and the Open Handset Alliance, is poised to become a significant player in the mobile device market. The Android platform gives developers...

    Wiley.Publishing.Professional.Android.2.Application.Development.2010.pdf

    CHAPTER 4 Creating User Interfaces .......... . . 85 CHAPTER 5 Intents, Broadcast Receivers, Adapters, and the Internet ............ 137 CHAPTER 6 Files, Saving State, and Preferences .......187 ...

    Apress.Pro.Android.2.2010.pdf

    ■Chapter 11: Managing and Organizing Preferences ...... 421 ■Chapter 12: Exploring Live Folders ......... 439 ■Chapter 13: Home Screen Widgets ......... 457 ■Chapter 14: Android Search.......... ...

    Eclipse的template.xml

    导入方式:打开 Window——Preferences Java——Code Style 下面 点 Code Templates,在右侧 有个 Import 按钮,这个 导入的是 注释模板配置文件,即 1.xml 点 Formatter,在上部有个Import按钮,这个导入...

    Apress.Enterprise.Mac.Managed.Preferences.Aug.2010.rar

    Apress.Enterprise.Mac.Managed.Preferences.Aug.2010.rar

    APress.Beginning.Android.2009.pdf

    ■CHAPTER 5 Using XML-Based Layouts ......... . . 21 ■CHAPTER 6 Employing Basic Widgets .........27 ■CHAPTER 7 Working with Containers .......... 37 ■CHAPTER 8 Using Selection Widgets .......... 55...

    APress.Pro.Android.2009.pdf

    Chapter 11 Managing and Organizing Preferences. . . . . 363 Chapter 12 Coming to Grips with 1.5 . . . . . . . . . . 377 Chapter 13 Simplifying OpenGL and Exploring Live Folders. . . . . 395 INDEX . . ...

    Android代码-android-secure-preferences

    android-secure-preferences About This project uses the Encryption class from: http://www.java2s.com/Code/Android/Security/AESEncryption.htm Gives an implementation of SharedPreferences, which encrypts...

    Eclipse权威开发指南2.pdf

    2.3.6 快速差别—— 实时变化通知..... 48 2.3.7 文件编码..... 48 2.3.8 打印..... 49 2.4 Eclipse定制...... 49 2.4.1 透视图..... 49 2.4.2 渐进显示..... 51 2.4.3 在Eclipse中运行多窗口和多工作空间..... 51...

    Android开发指南中文版.pdf 清晰版

    系统偏好Preferences............................................. 53 文件Files........................................................ 54 数据库Databases...................................................

    Apress.Beginning.Android.2.2010.pdf

    ■Chapter 4: Using XML-Based Layouts.................. 23 ■Chapter 5: Employing Basic Widgets ................... 29 ■Chapter 6: Working with Containers.................... 39 ■Chapter 7: Using ...

    com.android.ide.eclipse.ndk_23.0.2.1259578.jar

    android adt自带eclipse无法设置ndk路径,需要下载com.android.ide.eclipse.ndk_23.0.2.1259578.jar文件,然后复制到sdk 只带...重新启动eclipse,然后查看 菜单-&gt;Window-&gt;Preferences-&gt;Android,就可以看到ndk选项了。

    Eclipse权威开发指南3.pdf

    2.3.6 快速差别—— 实时变化通知..... 48 2.3.7 文件编码..... 48 2.3.8 打印..... 49 2.4 Eclipse定制...... 49 2.4.1 透视图..... 49 2.4.2 渐进显示..... 51 2.4.3 在Eclipse中运行多窗口和多...

    Eclipse权威开发指南1.pdf

    2.3.6 快速差别—— 实时变化通知..... 48 2.3.7 文件编码..... 48 2.3.8 打印..... 49 2.4 Eclipse定制...... 49 2.4.1 透视图..... 49 2.4.2 渐进显示..... 51 2.4.3 在Eclipse中运行多窗口和多...

    Android和XML代码格式化

    window-&gt;preferences-&gt;java-&gt;Code style-&gt;Formatter中导入android-formatting.xml 使用方法: 安裝成功后使用快捷鍵:ctrl + shift + f ,Eclipse 自動按照官方要求調整code style XML格式化: ...

    Professional.Android.2.Application.Development.pdf

    Android2专业应用开发,是你原汁原味学习老外android的开发的最佳宝典(含入门): INTRODUCTION xxvii CHAPTER 1 Hello, Android 1 CHAPTER 2 Getting Started 17 CHAPTER 3 Creating Applications and ...

    Android开发指南中文版

    11 加载模式 ......................................................................................................... 12 清理堆栈 ........................................................................

    纯小白eclipse for java 配置若依(ruoyi)快速开发平台

    1.打开eclipse——Preferences——Maven——installations——Add 2.选择你的Maven文件夹 3.如图: 4.apply 5.改maven中conf文件夹下setting文件(编辑器打开) 6.修改仓库 7.此处添加自己的仓库路径(切记全程...

    Pro Android 3

    《Pro Android 3》Contents at a Glance Contents ...................................................................................................................... ...................................

Global site tag (gtag.js) - Google Analytics