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

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. material-dialogs

    https://github.com/afollestad/material-dialogs

  2. Swift常用语法示例代码(二)

    此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法. 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上Th ...

  3. eclipse 如何使用svn

    1.安装:安装包或输入网址 2.点打开透视图,点svn右键,新建网络地址 3.更新svn,检出svn即可

  4. SQL Server 之 在与SQLServer建立连接时出现与网络相关的或特定于实例的错误

    背景:在用数据库时,打开SQL Server 2008 R2 的 SQL Server Management Studio,输入sa的密码发现,无法登陆数据库,提示信息如上: 解决方案: 1.打开Sq ...

  5. cocos2dx新建android项目lib拷贝、访问权限等问题集

    win7上面搭建cocos2dx的android项目,用create-android-project.bat新建一个项目时,出现了访问权限和项目无lib的问题. 解决方案: 1.项目无lib问题. 当 ...

  6. css笔记05:表单

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

  7. ACM一道关于素数查找的题

    在ACM做这么一道题: 我用了最简单的查找素数的方法: bool isPrime(int n) { int t=n-1; while(t>2) { if(n%t==0) { return fal ...

  8. 移植最新u-boot(裁剪和修改默认参数)之韦东山笔记

    1.下载.建立source insight工程.编译.烧写.如果无运行分析原因 tar xjf u-boot-2012.04.01.tar.bz2 cd u-boot-2012.04.01 make ...

  9. 有关ftp4j的FTPListParseException异常

    昨天换了个ftp服务器,发现程序出现了异常it.sauronsoftware.ftp4j.FTPListParseException,网上搜了下,说是FTPClient.list()时it.sauro ...

  10. JDK的安装

    安装jdk解压拷贝过来的jdk(1.6版本)压缩包 cd /usr/local/tar xzvf /tmp/jdk.tgz 修改环境变量vi /etc/profile 加入如下内容export JAV ...