【安卓笔记】高速的发展设置界面-----PreferenceActivity

通常app都会有一个设置界面,例如以下:

通常做法是自定义布局,然后在代码里面加入响应函数,并将结果保存到Sharedpreferences中。

android给我们提供了PreferenceActivity来简化开发设置界面。

你仅仅需这样做:

1.创建一个类继承PreferenceActivity,并导入设置界面布局:

package com.example.preferenceactivitydemo1;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class MainActivity extends PreferenceActivity
{
	@SuppressWarnings("deprecation")
	@Override
	protected void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		addPreferencesFromResource(R.xml.main_preference);
	}

}

2.在res文件夹下加入xml文件夹,并创建一个名为main_preference(即代码中引用的资源文件)的文件.

3.编写资源文件。

上图设置界面相应的资源文件例如以下:

<?xml version="1.0" encoding="utf-8"?

>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:title="标题" >
    <PreferenceCategory
        android:summary="分组1"
        android:title="分组1标题" >
        <ListPreference
            android:defaultValue="@string/defaultvalues"
            android:dialogTitle="对话框标题"
            android:entries="@array/entries"
            android:entryValues="@array/entriesvalue"
            android:key="myListPreference"
            android:summary="标题说明"
            android:title="小标题" />
        <CheckBoxPreference
            android:key="doubi"
            android:summaryOff="逗比模式关闭"
            android:summaryOn="逗比模式开启"
            android:title="逗比模式" >
        </CheckBoxPreference>
    </PreferenceCategory>
    <PreferenceCategory
        android:summary="分组2"
        android:title="分组2标题" >
        <SwitchPreference
            android:key="fly"
            android:summaryOff="已关闭飞行模式"
            android:summaryOn="已开启飞行模式"
            android:switchTextOff="关闭"
            android:switchTextOn="开启"
            android:title="飞行模式" >
        </SwitchPreference>
        <EditTextPreference
            android:defaultValue="zhangsan"
            android:dialogTitle="编辑姓名"
            android:key="name"
            android:summary="编辑您的姓名"
            android:title="编辑" >
        </EditTextPreference>
    </PreferenceCategory>
</PreferenceScreen>

当中引用了string.xml的相关内容:

<?xml version="1.0" encoding="utf-8"?

>
<resources>
    <string name="app_name">PreferenceActivityDemo1</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
	<string-array name="entries">
	    <item>小苹果</item>
	    <item>小香蕉</item>
	    <item>小西瓜</item>
	</string-array>
	<string-array name="entriesvalue">
	    <item>apple</item>
	    <item>banana</item>
	    <item>watermelon</item>
	</string-array>
	<string name="defaultvalues">apple</string>
</resources>

恩,就这么简单~

全部结果会保存到data/data/包名/shared_prefs文件夹下的包名_preferences.xml中,跟sharepreferences一样。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

时间: 2024-12-24 12:17:25

【安卓笔记】高速的发展设置界面-----PreferenceActivity的相关文章

【安卓笔记】快速开发设置界面-----PreferenceActivity

通常app都会有一个设置界面,如下: 通常做法是自己定义布局,然后在代码里面添加响应函数,并将结果保存到Sharedpreferences中. android给我们提供了PreferenceActivity来简化开发设置界面. 你只需这样做: 1.创建一个类继承PreferenceActivity,并导入设置界面布局: package com.example.preferenceactivitydemo1; import android.os.Bundle; import android.pre

【安卓笔记】在拨号界面通过拨打指定号码来启动某个秘密界面

方案说明: 1.通过注册广播接收者监听用户拨打电话操作: 2.当用户拨打电话时,广播接收者接收到号码,并与指定的"暗号"对比,若匹配,则启动某个界面并且终止用户拨打电话操作. 实现: 1.在清单文件中配置广播接收者,并添加权限: <receiver android:name="cn.edu.chd.mobilesafe.receiver.CallPhoneReceiver" > <intent-filter android:priority=&qu

安卓工作室 android studio 汉化后,报错。 设置界面打不开。Can&#39;t find resource for bundle java.util.PropertyResourceBundle, key emmet.bem.class.name.element.separator.label

安卓工作室 android studio 汉化后,报错. 设置界面打不开. Android studio has been sinified and reported wrong.The setup interface cannot be opened. 安卓工作室 android studio 版本 2.3.3 Android studio version 2.3.3 汉化包版本 AndroidStudio_v2.0.0.20_resources_cn-v0.2-20170414.jar Lo

【安卓笔记】通过发送特定的短信远程控制手机

实现效果: 1.发送指令#*location*#,可以远程获取到手机的地理位置(经纬度),并以短信的形式返回. 2.发送指令#*locknow*#,可以远程锁屏并设置锁屏密码. 实现原理: 1.注册广播接受者,监听手机收到的短信,并对符合要求的特定短信进行拦截和处理. 2.通过LocationManager获取地理位置. 3.使用DevicePolicyManager实现锁屏.设置锁屏密码等操作. 步骤: 1.创建一个可以获取地理位置的工具类: package cn.edu.chd.mobile

【安卓笔记】抽屉式布局----DrawerLayout

效果如下: DrawerLayout来自support.v4包,所以不用考虑兼容性问题.其次,这种布局类似风靡一时的侧滑菜单,但是比侧滑菜单轻巧许多. 下面介绍这种布局的使用方式. 1.在你的项目中导入support.v4包. 2.编辑一个布局,根节点为android.support.v4.widget.DrawerLayout,此节点下只允许有两个子节点,第一个为将来主页面的内容,第二个节点即为"抽屉"内容,通常是一个ListView.比如: <android.support.

Android4.0设置界面改动总结(三)

Android4.0设置界面改动总结大概介绍了一下设置改tab风格,事实上原理非常easy,理解两个基本的函数就可以: ①.invalidateHeaders(),调用此函数将又一次调用onBuildHeader()来又一次读取xml文件里的header,又一次刷新HeaderAdapter中的数据,因此刷新了ListView的内容,从而更新了界面. ②.onBuildHeaders()中调用loadHeadersFromResource(resId, headers); 就可以又一次载入Hea

[Openwrt 项目开发笔记]:Openwrt必要设置(二)

前面的两篇blog中,我将如何搭建Openwrt的开发.编译.调试以及烧写环境的方法一一列出了.从本文开始, 我将介绍如何一步一步进行Openwrt设置,以满足路由器作为智能家居网关的功能. ok,闲话休提,开始上干货. 一.Openwrt初始配置 1. 密码设置 当我们成功地将Openwrt刷入路由器后,路由器会经过大约4~5分钟的时间重启(以Netgear Wndr3700为例).待路由器启动之后,用一根网线与路由器LAN口直连,并将PC的IP设置到192.168.1.*网段. 提示:不同的

Android4.0设置界面修改总结(四)

之前有跟大家分享设置Tab风格和Item圆角的实现,希望能给有需要的朋友一点点帮助,今天再和大家分享一下用ViewPager实现设置分页,小米和OPPO就是这样的设置,先来看看效果图:   为了帮助大家更清晰的理解,我单独拿出一个小例子,有需要的朋友可以下载下来看看: http://git.oschina.net/way/SettingTab/tree/master 其实要实现这样的风格并不难,只要能比较深入的理解PreferenceActivity.java就可以了.我们都知道Settings

Android4.0设置界面修改总结(三)

Android4.0设置界面修改总结大概介绍了一下设置改tab风格,其实原理很简单,理解两个主要的函数即可: ①.invalidateHeaders(),调用此函数将重新调用onBuildHeader()来重新读取xml文件中的header,重新刷新HeaderAdapter中的数据,因此刷新了ListView的内容,从而更新了界面. ②.onBuildHeaders()中调用loadHeadersFromResource(resId, headers); 即可重新加载HeaderAdapter