Android中PreferenceActivity的介绍
来源:互联网 发布:three.js pointlight 编辑:程序博客网 时间:2024/05/14 09:53
- <PreferenceScreen
- xmlns:android="http://schemas.android.com/apk/res/android">
- <PreferenceCategory
- android:title="@string/example_preference_dependency">
-
- <CheckBoxPreference
- android:key="wifi"
- android:title="@string/title_wifi" />
-
- <EditTextPreference
- android:layout="?android:attr/preferenceLayoutChild"
- android:title="@string/title_wifi_settings"
- android:dependency="wifi" />
-
- </PreferenceCategory>
-
- </PreferenceScreen>
PreferencrScreen这里我是理解为一个窗口(可能是做展讯的缘故),下面都是他的组建,即构成了一个与用户的交互界面(将会以一个完整的页面显示),这个XML文件主要可以分为两类:一类是管理布局的显示,如PreferenceScreen;另一类是具体的设置内容,如CheckBoxPreference,EditTextPrefrencr。
在上面的程序还发现有PreferenceCategory这个属性,这个主要的作用我是认为将他里面涵盖的东西作为他的一个属性。附其他的属性介绍:Key为这个Preference的ID,设置了才可以在代码中引用,Title是显示的标题,Summary是显示在标题下的文字介绍。效果如下所示:
上面我们介绍了PreferenceActivity设置界面。当PreferenceActivity中的内容改变时,Android系统会自动进行保存和持久化维护,我们只需要在要用的设置界面中数据的地方进行读取就可以了。同时Android还提供了OnPreferenceClickListener和OnPreferenceChangeListener两个与Preference相关的监听接口,当PreferenceActivity中的某一个Preference进行了点击或者改变的操作时,都会回调接口中的函数,这样可以第一个时间向其他Activity等通知系统设置进行了改变。
还有一种方法通过setPreferenceScreen(PreferenceScreen),通过自己写的方法也可以实现上述操作;
- public class PreferencesFromCode extends PreferenceActivity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setPreferenceScreen(createPreferenceHierarchy());
- }
- private PreferenceScreen createPreferenceHierarchy() {
- // Root
- PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
-
- // Inline preferences
- PreferenceCategory inlinePrefCat = new PreferenceCategory(this);
- inlinePrefCat.setTitle(R.string.inline_preferences);
- root.addPreference(inlinePrefCat);
-
- // Toggle preference
- CheckBoxPreference togglePref = new CheckBoxPreference(this);
- togglePref.setKey("toggle_preference");
- togglePref.setTitle(R.string.title_toggle_preference);
- togglePref.setSummary(R.string.summary_toggle_preference);
- inlinePrefCat.addPreference(togglePref);
-
- // Dialog based preferences
- PreferenceCategory dialogBasedPrefCat = new PreferenceCategory(this);
- dialogBasedPrefCat.setTitle(R.string.dialog_based_preferences);
- root.addPreference(dialogBasedPrefCat);
- // Edit text preference
- EditTextPreference editTextPref = new EditTextPreference(this);
- editTextPref.setDialogTitle(R.string.dialog_title_edittext_preference);
- editTextPref.setKey("edittext_preference");
- editTextPref.setTitle(R.string.title_edittext_preference);
- editTextPref.setSummary(R.string.summary_edittext_preference);
- dialogBasedPrefCat.addPreference(editTextPref);
-
- // List preference
- ListPreference listPref = new ListPreference(this);
- listPref.setEntries(R.array.entries_list_preference);
- listPref.setEntryValues(R.array.entryvalues_list_preference);
- listPref.setDialogTitle(R.string.dialog_title_list_preference);
- listPref.setKey("list_preference");
- listPref.setTitle(R.string.title_list_preference);
- listPref.setSummary(R.string.summary_list_preference);
- dialogBasedPrefCat.addPreference(listPref); return root
- }
效果如图:
上一篇:android中关于消息Message与Handler的详解
下一篇:关于android中BaseAdapter的理解
- 都是免费推广网店,新手上路必...
- 土豪seo人员不能不知的高级搜...
- 公司发展历史(1925-1934)精彩...
- Android系统匿名共享内存Ashme...
- 冠博银代理,冠博贵金属招商,...
- linux守护进程的几个关键地方...
- stagefright与opencore对比
- 嵌入式Linux之我行——u-boot-...
- 嵌入式Linux之我行——内核、...
- CodeNavigator -- 程序员必备...
- ChinaUnix & ITPUB社区12周年...
- ssh连接出现以下提示,求解...
- 如何扩展MYSQL
- 准备做一个大型门户,用户什么...
- gbk or utf8
- Android中PreferenceActivity的介绍
- Android PreferenceActivity的介绍
- android设置中常用的PreferenceActivity用法介绍
- android设置中常用的PreferenceActivity用法介绍
- android设置中常用的PreferenceActivity用法介绍
- Android PreferenceActivity介绍
- Android中PreferenceActivity用法
- Android之PreferenceActivity类介绍
- android的PreferenceActivity
- android的PreferenceActivity
- android的PreferenceActivity
- android的PreferenceActivity
- android preferenceActivity的用法
- android的PreferenceActivity
- android的PreferenceActivity
- android中SharedPreferences和PreferenceActivity的存取数据
- Android开发--PreferenceActivity中打开子PreferenceScreen黑屏的解决办法
- Android中LauncherActivity、PreferenceActivity、ExpandableListActivity的综合运用
- SSH Secure Shell Client—远程控制Linux工具
- windows环境用GIT下载android源码
- android入门理解android的生命周期
- Android多线程设计模式---wait()和notify()机制
- android中关于消息Message与Handler的详解
- Android中PreferenceActivity的介绍
- <noscript>及连接其他网站的图片
- 关于android中BaseAdapter的理解
- Android Button特效selector+shape
- Eclipse快捷方式
- android u-boot分析
- LInux 内核配置系统
- Linux 输入子系统
- 迷你版本的Nginx定时机制的实现