应用程序首选项屏幕 类似系统设置界面。

PreferenceActivity 是另一种类型的Activity,通过PreferenceActivity 可以以最少量的工作显示某些Preference列表项。大多数Preference列表项都允许定义一个可访问值得键,以及定义向用户显示的标题和描述信息。

  • CheckBoxPreference 简单的打开、关闭复选框控件
  • EditTextPreference 在对话框中显示可编辑的文本框
  • ListPreference 提供可以从列表中选择的选择项。可为其设置默认值
  • PreferenceCategoru 列表想的标题,Preference对象的分组
  • PreferenceScreen 占位符,可以导航到另一个首选项列表。单击时打开带有分组首选项的新首选项屏幕
  • RingtonePreference 提供用户选择的铃声列表
  • DialogPreference 是一个基类,通过继承该类,可以在首选项对话框中显示自己的UI

布局文件代码

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="First Category">
<CheckBoxPreference
android:key="chooseFromList"
android:title="checkbox preference"
android:defaultValue="true"
android:summary="do you want choose from the list" />
<ListPreference
android:key="listChoice"
android:title="list preference"
android:summary="allows you to select an array item"
android:dependency="chooseFromList"
android:defaultValue="1"
android:entries="@array/listChoiceEntries"
android:entryValues="@array/listChoiceEntryValue" />
</PreferenceCategory>
<PreferenceCategory
android:title="Second Category">
<PreferenceScreen
android:title="advanced options">
<CheckBoxPreference
android:key="advancedOption"
android:title="advanced options"
android:defaultValue="true"
android:summary="this is an advanced option" />
</PreferenceScreen>
<EditTextPreference
android:dialogTitle="EditTextTitle"
android:key="mainOption"
android:title="some title"
android:summary="this is an editText preference"
android:defaultValue="test" />
<RingtonePreference
android:key="ringtone"
android:title="设置铃声"
android:showSilent="true"
android:ringtoneType="alarm"
android:summary="set ringtone" />
<命名空间.CustomDialogPreference
android:key="customDialogPreference"
android:dialogIcon="@drawable/icon"
android:title="custom dialog"
android:summary="Reset all quest-progress."
android:dialogMessage="Are you sure you wish to reset your quest progress? This action cannot be undone!"
android:positiveButtonText="Clear Quests"
android:negativeButtonText="Cancel" />
</PreferenceCategory>
</PreferenceScreen>

其中CustomDialogPreference为继承自DialogPreference自定义的类,没有什么实际的代码

class CustomDialogPreference:DialogPreference
{
public CustomDialogPreference(Context context, IAttributeSet attrs)
:base(context,attrs)
{ }
}

Activity的OnCreate方法中初始化代码

this.AddPreferencesFromResource (Resource.Layout.Main);

            //var listPref = this.FindPreference ("listChoice") as ListPreference;
//动态设置ListPreference显示项和值
//listPref.SetEntries (new string[]{ "动态加载1","动态加载2","动态加载3"});
//listPref.SetEntryValues (new string[]{"1","2","3"});

Xamarin android PreferenceActivity 实现应用程序首选项设置(一)的更多相关文章

  1. Xamarin.Android学习之应用程序首选项

    Xamarin.Android学习之应用程序首选项 一.前言 任何App都会存在设置界面,如果开发者利用普通控件并绑定监听事件保存设置,这一过程会非常的枯燥,而且耗时.我们可以看到Android系统的 ...

  2. mono for android之文件系统与应用程序首选项(转)

    Aside from persistent files, your application might need to store cache data in a file. To do that, ...

  3. 应用程序首选项(application preference)及数据存储

    应用程序首选项(application preference)用来存储用户设置,考虑以下案例: a. 假设有一款MP3播放器程序,当用户调节了音量,当下次运行该程序时,可能希望保持上一次调节的音量值. ...

  4. wireshark抓包实战(五),首选项设置和基本的抓包设置

    一.首选项 首选项一般是修改软件底层的一些默认参数 选中编辑,点击首选项按钮 二.抓包选项设置 点击捕获,选中选项 1.捕获网卡设置 2.保存文件方式设置 很多情况下wireshark会保存很大的数据 ...

  5. mono for android 用ISharedPreferences 进行状态保持 会话保持 应用程序首选项保存

    由于项目需要 要保持用户登录状态 要进行状态保持 用途就好像asp.net的session一样 登录的时候进行保存 ISharedPreferences shared = GetSharedPrefe ...

  6. Xamarin.Android开发实践(十五)

    Xamarin.Android学习之应用程序首选项 一.前言 任何App都会存在设置界面,如果开发者利用普通控件并绑定监听事件保存设置,这 一过程会非常的枯燥,而且耗时.我们可以看到Android系统 ...

  7. Android学习笔记(十四)方便实用的首选项-PreferenceActivity

    突然发现已经好多天没更新博客了,最近公司项目正在进行一个大跨度的重构,又碰上有新需求,一连好多天都是很晚才到家.其实这篇博文在草稿箱里面也存了很久了,本来想着不发了,不过感觉PreferenceAct ...

  8. 详解Android首选项框架ListPreference

    详解Android首选项框架ListPreference 原文地址 探索首选项框架 在深入探讨Android的首选项框架之前,首先构想一个需要使用首选项的场景,然后分析如何实现这一场景.假设你正在编写 ...

  9. 我的Android 4 学习系列之文件、保存状态和首选项

    目录 使用Shared Preference 保留简单的应用程序数据 保存回话间的Activity实例数据 管理应用程序首选项和创建Preference Screen 保存并加载文件以及管理本地文件系 ...

随机推荐

  1. Android4.4 蓝牙源码部分分析

    最近GOOGLE发布了Android4.4,看了一下源码:4.4的蓝牙打开流程这一部分还是有些变化的,从界面上看蓝牙开关就是设置settings里那个switch开关,widget开关当然也可以,起点 ...

  2. Metadata Lock原理5

    [MySQL] 之一2015-09-05 15:46:51 分类: MySQL 一 简介 和MySQL打交道比较多的朋友,肯定遇到过 "Waiting for table metadata ...

  3. ie提示jquer缺少标识符,字符串或数字

    属性之间是要用","分隔的,但最后一个属性的后面在IE中是不能有的,firefox可有可无. 至于最后的";"是另外一回事了.这是Javascript的语法问题 ...

  4. Gradle Goodness: Set Java Compiler Encoding--转载

    原文地址:http://java.dzone.com/articles/gradle-goodness-set-java If we want to set an explicit encoding ...

  5. ISO8583报文解析

    在此只写了一个8583报文的拆包,组包其实也差不多的. 不多说直接上文件, 具体思路过程,在解析类里面写的有. 其中包含了四个文件 8583resp.txt报文 ISO8583medata配置文件 B ...

  6. Direct3D-3 四元数

        其实本来这篇文章是打算接上篇的各种变化矩阵的推导了,想了想,还是先讲四元数吧.本人的文章并不会提到欧拉角,因为我自己没弄懂欧拉角的万向锁问题.     很多人学习数学时,会有这样一个疑惑,这东 ...

  7. android 读取串口数据的服务

    2016-09-1813:10:03 继承Service,定义抽象方法onDataReceived,子类通过实现抽象方法获取接收到数据的回调. package com.zrsoft.liftad.se ...

  8. poj 2942 点的双连通分量

    思路: 对于该图,直接用建图貌似没法解,所以也很容易想到建补图,这样存在边的两个点就能再圆桌上做一起.也就将问题转化为对双连通分量中是否存在奇圈了. 我们将每次查询的边保存在stack中,当遇到关键点 ...

  9. 看linux连接进程占用的实时流量iftop netatop NetHogs

    因为新工厂的机器上面的业务混合部署非常严重,加上内网外网共用一个网卡(这个更不可思议),导致有时要定位一些进程流量的问题非常困难,所以最近花了点时间在网上搜集了一把  (aptitude search ...

  10. SharePoint 2013 网站定义中添加页面布局

    今天在Visual Studio 2012中将页面布局打包到网站定义中. 新建Module “MasterPageGallary” 在Element中如下: <Elements xmlns=&q ...