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

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. android Camera 数据流程分析

    这篇文章主要针对其数据流程进行分析.Camera一般用于图像浏览.拍照和视频录制.这里先对图像浏览和拍照的数据流进行分析,后面再对视频电话部分进行分析. 1.针对HAL层对摄像头数据处理补充一下 Li ...

  2. 详谈 php定时器

    以前对se特别感兴趣,但是自己又不会java,lucene等搜索引擎开发工具,于是不断挖掘php的功效. 最后发现php也可以做抓取,并且原理很易:直接获取页面源文件,然后通过正则或字符串的参照截取来 ...

  3. 使用命令xrandr设置当前系统的显示分辨率及显示的旋转脚本

    /*********************************************************************  * Author  : Samson  * Date   ...

  4. Java多线程之wait(),notify(),notifyAll()

    在多线程的情况下,因为同一进程的多个线程共享同一片存储空间,在带来方便的同一时候,也带来了訪问冲突这个严重的问题.Java语言提供了专门机制以解决这样的冲突,有效避免了同一个数据对象被多个线程同一时候 ...

  5. thinkphp中的分表方法

    public function getPartitionTableName($data=array()) { // 对数据表进行分区 if(isset($data[$this->partitio ...

  6. 实例源码--Android理财工具源码

      下载源码   技术要点: 1.Sqlite数据库的综合使用 2.控件的综合使用 3. 源码带详细的中文注释 ...... 详细介绍: 1. Sqlite数据库的综合使用 本套源码采用了Sqlite ...

  7. 我cnblogs的主题

    我的cnblogs主题 这里记录的是本博客的主题存档 主题代码参考自:流云诸葛的博客 博客皮肤选择 选择 LessIsMore 页面定制CSS代码 div.post div.entry { font- ...

  8. 关于通过adb启动Activity、activity、service以及发送broadcast的命令

    一.启动activity: $ adb shell$ am start -n {包名}/{包名}.{活动名称} 如:启动一个名叫MainActivity的活动 # am start -n com.ex ...

  9. Spreadsheet Tracking

     Spreadsheet Tracking  Data in spreadsheets are stored in cells, which are organized in rows (r) and ...

  10. ie6双边距bug及其解决办法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...