【Android 开发教程】PreferenceFragment
来源:互联网 发布:手机点单软件 编辑:程序博客网 时间:2024/05/21 14:55
本章节翻译自《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 开发教程】PreferenceFragment
- Android PreferenceFragment
- Android PreferenceFragment模板
- Android应用之PreferenceFragment
- android-support-v4-preferencefragment
- 【Android】PreferenceFragment详解
- PreferenceFragment
- PreferenceFragment
- Android设置Settings:PreferenceFragment【4】
- Android设置Settings:PreferenceFragment【4】
- Android之PreferenceFragment的使用:
- Android PreferenceFragment实现设置界面
- Android更改 PreferenceFragment 的背景颜色
- Android学习【9】PreferenceFragment偏好设置(一)
- Android学习【10】PreferenceFragment偏好设置(二)
- Android设置Settings:PreferenceFragment(2)
- Android数据存储(二)----PreferenceFragment详解
- Android数据存储(二)----PreferenceFragment详解
- 软考-信息系统项目管理师-考试记录
- 大学生如何让自己强大起来
- Windows运行机理——线程的机制(3)
- 《三个白痴》经典语录_值得深思。
- 使能S3C6410的VFP,浮点协处理器
- 【Android 开发教程】PreferenceFragment
- 交叉编译minigui
- 交叉编译驱动
- weather.xml
- BUG
- IE6 IE7 IE8 css bug兼容性解决方法总结归纳
- C++课本例题(派生类的构造函数)
- 项目交叉编译
- 图像处理(卷积)