`
king_tt
  • 浏览: 2113681 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

【Android 开发教程】PreferenceFragment

 
阅读更多

本章节翻译自《Beginning-Android-4-Application-Development》,如有翻译不当的地方,敬请指出。

原书购买地址http://www.amazon.com/Beginning-Android-4-Application-Development/dp/1118199545/


有的时候,我们做的程序需要提供一些选项的功能,能让用户去定制化他们自己的使用风格。举个例子,你可能允许用户是否自动保存登录信息,允许用户自己设定某个页面的刷新时间等等。在Android平台上面,我们可以使用PreferenceActivity基类去显示给用户一个选项设置的界面。在Android3.0或更高的版本上,可以使用PreferenceFragment类去实现这个功能。

下面将展示如何去创建和使用PreferenceFragment。

1. 创建一个工程:PreferenceFragmentExample。

2. 在res文件夹下面新建一个xml文件夹,在xml文件夹下面新建一个文件:preferences.xml。

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen 
    xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory android:title="Category 1">
        <CheckBoxPreference
            android:title="Checkbox"
            android:defaultValue="false"
            android:summary="True of False"
            android:key="checkboxPref" />
        </PreferenceCategory>                
        
    <PreferenceCategory android:title="Category 2">
        <EditTextPreference
            android:name="EditText"
            android:summary="Enter a string"
            android:defaultValue="[Enter a string here]"
            android:title="Edit Text"
            android:key="editTextPref" />            
        <RingtonePreference
            android:name="Ringtone Preference"
            android:summary="Select a ringtone"
            android:title="Ringtones"
            android:key="ringtonePref" />            
        <PreferenceScreen                
            android:title="Second Preference Screen"
            android:summary=
                "Click here to go to the second Preference Screen"
            android:key="secondPrefScreenPref">                            
            <EditTextPreference
                android:name="EditText"
                android:summary="Enter a string"
                android:title="Edit Text (second Screen)"
                android:key="secondEditTextPref" />                
        </PreferenceScreen>        
    </PreferenceCategory>  
          
</PreferenceScreen>
3. 在包路径下面新建一个类:Fragment1.java。

public class Fragment1 extends PreferenceFragment {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 从xml文件加载选项
        addPreferencesFromResource(R.xml.preferences);
    }
}
4. PreferenceFragmentExampleActivity.java(主活动)的代码。

public class PreferenceFragmentExampleActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = 
            fragmentManager.beginTransaction();
        Fragment1 fragment1 = new Fragment1();
        fragmentTransaction.replace(android.R.id.content, fragment1);        
        fragmentTransaction.addToBackStack(null); 
        fragmentTransaction.commit();
    }
}
5、按F11在模拟器上面调试。

6. 点击第二行,就会显示一个窗口。

7. 使用DDMS工具,就会看见在本应用的包路径下面会生成一个xml文件。


如果想创建一个列表样式的选项,首先,我们需要先创建preferences.xml文件,然后在这个文件里面填充各种元素。

然后,我们需要一个继承PreferenceFragment的子类:

public class Fragment1 extends PreferenceFragment {}
接下来,我们使用addPreferencesFromResource()方法去加载xml文件:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        addPreferencesFromResource(R.xml.preferences);
    }
最后,我们要把这个Fragment1显示在活动中,这时,我们需要使用FragmentManager和FragmentTrasaction:

FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction = 
            fragmentManager.beginTransaction();
        Fragment1 fragment1 = new Fragment1();
        fragmentTransaction.replace(android.R.id.content, fragment1);        
        fragmentTransaction.addToBackStack(null); 
        fragmentTransaction.commit();

关于碎片就讲到这里了,下一个部分将会讲解菜单。很简单。欢迎大家提出宝贵的意见。



分享到:
评论

相关推荐

    Android开发教程(完整版)

    新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&笔记三--环境搭建与解析.pdf 新版Android开发教程&笔记四--Dalvik ADB.pdf 新版Android开发教程+笔记五--...

    Android 开发教程 新版Android开发教程&笔记

    新版Android开发教程&笔记一--基础入门1 新版Android开发教程&笔记二--基础入门2 新版Android开发教程&笔记三--环境搭建与解析 新版Android开发教程&笔记四--Dalvik ADB 新版Android开发教程&笔记五--模拟器、应用1...

    Android开发教程详细版.pdf

    Android开发教程详细版.pdf Android开发教程详细版.pdf

    Android开发教程详细版

    新版Android开发教程&笔记--基础入门一 新版Android开发教程&笔记--基础入门二 新版Android开发教程&笔记三--环境搭建与解析 新版Android开发教程&笔记四--Dalvik ADB 新版Android开发教程+笔记五--模拟器、应用1、2...

    新版android开发教程 笔记

    新版Android开发教程&笔记--基础入门一 新版Android开发教程&笔记--基础入门二 新版Android开发教程&笔记三--环境搭建与解析 新版Android开发教程&笔记四--Dalvik ADB 新版Android开发教程+笔记五--模拟器、应用1、2...

    新版Android开发教程及笔记-完整版.pdf

    新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&笔记三--环境搭建与解析.pdf 新版Android开发教程&笔记四--Dalvik ADB.pdf 新版Android开发教程+笔记五--...

    新版Android开发教程

    新版Android开发教程 新版Android开发教程&笔记01--基础入门 新版Android开发教程&笔记02--基础入门 新版Android开发教程&笔记03--环境搭建与解析 新版Android开发教程&笔记04--Dalvik ADB 新版Android开发教程+笔记...

    android开发教程.pdf

    android开发教程.pdfandroid开发教程.pdfandroid开发教程.pdf

    Android开发教程完全版

    新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&笔记三--环境搭建与解析.pdf 新版Android开发教程&笔记四--Dalvik ADB.pdf 新版Android开发教程+笔记五--...

    《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf

    《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用程序开发教程(第2版)》教学课件02Android UI设计.pdf《Android应用...

    Android开发教程+笔记 Android开发教程+笔记

    Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发教程+笔记 Android开发...

    Android开发教程基础版 Android中文开发教程

    开发教程基础版 完整的 清晰度也不错 可以看的 Android开发教程基础版 Android中文开发教程

    最详细的Android开发教程实例

    目前为止最全、最详细的Android开发教程。

    Android开发教程笔记完全版 pdf

    Android开发教程笔记完全版 pdf.我看了一下,自己感觉可以.

    新版Android开发教程&笔记--基础入门

    新版Android开发教程&笔记--基础入门一 新版Android开发教程&笔记--基础入门二 新版Android开发教程&笔记三--环境搭建与解析 新版Android开发教程&笔记四--Dalvik ADB 新版Android开发教程+笔记五--模拟器、应用1、2...

    完美Android开发教程

    完美Android开发教程 完美Android开发教程 完美Android开发教程完美Android开发教程完美Android开发教程

    Android零基础教程视频链接

    android基础教程,里边包括新版Android开发教程&笔记1--基础入门,Android开发教程&笔记2--基础入门二,Android开发教程&笔记3--环境搭建与解析,Android开发教程&笔记4--Dalvik ADB Android开发教程+笔记5--模拟器...

    新版Android开发教程和笔记

    ARM上面运行Android系统,这里是开发教程和笔记。具体的内容包括: Professional_Android_App.pdf 新版Android开发教程&笔记--基础入门一.pdf 新版Android开发教程&笔记--基础入门二.pdf 新版Android开发教程&...

    [14本经典Android开发教程]-9-Android2.3用户手册

    [14本经典Android开发教程] 9 Android2 3用户手册 已上传8本: [14本经典Android开发教程] 1 Android开发从入门到精通 http: download csdn net detail cleopard 8355245 [14本经典Android开发教程] 2 Android...

    [14本经典Android开发教程]-3-Android SDK 中文开发文档

    [14本经典Android开发教程]-3-Android SDK 中文开发文档 什么是 Android? Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta版的 Android SDK 提供了在Android 平台上...

Global site tag (gtag.js) - Google Analytics