android开发Preference的使用

时间:2022-09-19 22:18:38

1  、Preference是androidSDK提供的一个基类从API1就开始有了,用于显示界面给用户。

2  、在使用Preference显示activity时,此activity需要继承Preferenceactivity,  在oncreate方法里面实现addPreferencesFromResource(R.xml.main)加载布局文件  ,次布局文件需要在res文件夹下 新建一个xml文件夹 。在新建一个xml文件。
3 、布局文件有三种标签
PreferenceScreen  根节点
PreferenceCategory  分类结点
Preference  子节点
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

    <PreferenceCategory android:title="@string/general" >
        <Preference android:title="@string/properties" />
        <Preference android:title="@string/attach" />
        <Preference android:title="@string/left_and_right" />
        <Preference android:title="@string/changing_fragments" />
        <Preference android:title="@string/responsive_ui" />
        <Preference android:title="@string/viewpager" />
    </PreferenceCategory>
    <PreferenceCategory android:title="@string/title_bar" >
        <Preference android:title="@string/title_bar_slide" />
        <Preference android:title="@string/title_bar_content" />
    </PreferenceCategory>
    <PreferenceCategory android:title="@string/animations" >
        <Preference android:title="@string/anim_zoom" />
        <Preference android:title="@string/anim_scale" />
        <Preference android:title="@string/anim_slide" />
    </PreferenceCategory>

</PreferenceScreen>

4 、重写 onPreferenceTreeClick方法实现监听

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference pref) {
        Class<?> cls = null;
        String title = pref.getTitle().toString();
        if (title.equals(getString(R.string.properties))) {
            cls = PropertiesActivity.class;
        } else if (title.equals(getString(R.string.attach))) {
            cls = AttachExample.class;
        } else if (title.equals(getString(R.string.changing_fragments))) {
            cls = FragmentChangeActivity.class;
        } else if (title.equals(getString(R.string.left_and_right))) {
            cls = LeftAndRightActivity.class;
        } else if (title.equals(getString(R.string.responsive_ui))) {
            cls = ResponsiveUIActivity.class;
        } else if (title.equals(getString(R.string.viewpager))) {
            cls = ViewPagerActivity.class;
        } else if (title.equals(getString(R.string.title_bar_slide))) {
            cls = SlidingTitleBar.class;
        } else if (title.equals(getString(R.string.title_bar_content))) {
            cls = SlidingContent.class;
        } else if (title.equals(getString(R.string.anim_zoom))) {
            cls = CustomZoomAnimation.class;
        } else if (title.equals(getString(R.string.anim_scale))) {
            cls = CustomScaleAnimation.class;
        } else if (title.equals(getString(R.string.anim_slide))) {
            cls = CustomSlideAnimation.class;
        }
        Intent intent = new Intent(this, cls);
        startActivity(intent);
        return true;
    }
 

android开发Preference的使用的更多相关文章

  1. Android 开发一定要看的15个实战项目

    前言: 虽说网上有太多的Android课程,但是大多都是视频,有Android在线开发环境的几乎没有,但是对于学习Android的人来说拥有在线的Android开发环境是非常好的,可以随时动手操作学习 ...

  2. Android开发用过的十大框架

    http://blog.csdn.net/u011200604/article/details/51695096 本文系多方综合与转载整合,意在Android开发中能够知道和使用一些好用的第三方支持, ...

  3. Android开发常用工具类

    来源于http://www.open-open.com/lib/view/open1416535785398.html 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java. 目前 ...

  4. 【Bugly 技术干货】Android开发必备知识:为什么说Kotlin值得一试

    1.Hello, Kotlin Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 1. ...

  5. 新人学习Android开发遇到的小问题总结

    1. IDE搭建: 搭建android的IDE时,先注意是什么版本的系统,64/32位系统. 通常使用的是Eclipse for android,Android Studio由于还需要FQ,网速慢,所 ...

  6. android开发中经常遇到的问题汇总

    大家都在为项目开发成功而喜悦,但可不知成功的路上是会经常出错的,下面是我碰到的一些错误集合! [错误信息] [2011-01-19 16:39:10 - ApiDemos] WARNING: Appl ...

  7. 黑客破译android开发代码真就那么简单?

    很多程序员辛辛苦苦开发出的android开发代码,很容易就被黑客翻译了. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了 ...

  8. Android开发第1篇 - Android开发环境搭建

    归结一下,需要进行Android开发所需要的工具或软件: Eclipse - Android是基于JAVA的开发,所以选用目前来说使用较高的Eclipse作为IDE. ADT (Android Dev ...

  9. 我的Android开发相关文章

    Pro Android学习笔记: Pro Android学习笔记(一零七):2D动画(2):layout渐变动画 2014.7.25 Pro Android学习笔记(一零六):2D动画(1):fram ...

随机推荐

  1. &lbrack;转&rsqb;Java使用commons-dbcp2&period;0

    原文地址:http://blog.csdn.net/jiutianhe/article/details/39670817 dbcp 是 apache 上的一个 java 连接池项目,也是 tomcat ...

  2. linux远程复制和压缩文件的命令

    1.linux导出指定数据库表 mysqldump  127.0.0.1  -uname -ppwd  databasename  tablename>/home/name/tablename. ...

  3. 【转】asp&period;net中利用session对象传递、共享数据&lbrack;session用法&rsqb;

    来自:http://blog.unvs.cn/archives/session-transfer-method.html 下面介绍Asp.net中利用session对象传递.共享数据用法: 1.传递值 ...

  4. 关于web开发的一点理解

    对于web开发上的一点理解 1 宏观上的一点理解 网页从请求第地址 到获得页面的过程:从客户端(浏览器)通过地址 从soket把请求报文封装发往服务端   服务端通过解析报文并处理报文最后把处理的结果 ...

  5. javascript 【封装AJAX】

    post function createXHR() { if (typeof XMLHttpRequest != 'undefined') { return new XMLHttpRequest(); ...

  6. 基于jQuery弹性展开收缩菜单插件gooey&period;js

    首先 引入css <link rel="stylesheet" href="css/bootstrap.min.css"> <link rel ...

  7. event&period;returnValue和return false的区别

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

  8. ie6兼容性处理

    IE6下border-bottom不起作用? 在IE6下,border-bottom:1px solid #000 不起作用,但border:1px solid #000 其作用. (经过测试,对于b ...

  9. ZooKeeper在线迁移

    在至少有一个Leader存在的前提下,进行Zookeeper的在线增量.在线减量.在线迁移 在全过程中ZooKeeper不停止服务 注意事项 首先,当我们要从3台扩充到5台时,应保证集群不停止服务. ...

  10. table中添加下拉框

    { file: 'usename', title: '下发用户', width:"20%", align: 'center', templet: function (d) { va ...