您的位置 首页 元件

Android设置选项开发及自定义Preference款式

一个完整的Android应用程序都应该提供选项(或者叫偏好设置等等)让用户对APP的表现形式能够进行设置,比如说是否加入用户体验计划,或者是否自动升

一个完好的Android运用程序都应该供给选项(或许叫偏好设置等等)让用户对APP的体现办法能够进行设置,比方说是否参加用户体会方案,或许是否主动晋级、守时提示、敞开自启动、后台运转等等。供给一个好的设置项,会大大提高APP的用户体会。为了完结这样的功用,你不用从头开始写Activity或许Fragment,由于Android现已供给了完成这个功用的API,并且会主动将用户设置以键值对的办法存入SharedPreference(Android的四大存储办法之一)中。在3.0曾经的体系,运用PreferenceActivity,这个类在api level 11(即Android 3.0)今后的api中丢掉,改用PreferenceFragment。两者的运用办法及函数调用迥然不同,能够依据app的方针体系版别自己去衡量。本文首要阐明两个问题,层次较浅,重在总结和阐明根本用法,懂的直接飘过吧。

1. 为APP增加设置选项

Android平台上,为运用增加设置选项是个十分简略的事儿。这儿以PreferenceFragment为例进行演示,究竟年代向前开展嘛。PreferenceFragment的父类是Fragment类,而Fragment目标有必要嵌入到Activity中显现出来。由此能够确认思路,为设置新建一个activity,然后将PreferenceFragment子类目标嵌入到其间,根本上就完成了选项设置,由于数据的保存与更新主动进行。

思路十分简略,仍是贴下首要代码,趁便收拾下思路,协助了解。

首先为设置选项设置新建一个Preference配置文件,跟layout文件也是XML文件格局,层次化明晰,留意它存储在res/xml下,而不是res/layout。体系也供给了一些比较常用了设置选项,比方PreferenceScreen,PreferenceCategory,CheckBoxPreference,EditTextPreferece,ListPreference等,假如需求你也能够很便利的完成自界说的Preference,下文将会介绍完成办法。现在新建一个Preference,命名settings.xml(更传统的命名为preference.xml)。

仿制代码

1

2

3 xmlns:preference=http://schemas.android.com/apk/res/com.test.mytest

4 android:title=设置 >

5

6

7 android:title=关于 >

8

9

10

11

12 preference:tipstring=>

13 preference:titlestring=自界说测验 >

14

15 android:action=android.intent.action.VIEW

16 android:data=http://www.baidu.com />

17

18

19

20

21

22

23

24

25

26

27 android:key=setting_test

28 android:title=测验一下 />

29

30

31

仿制代码

然后为设置选项新建一个Acitivity,由于此处PreferenceFragment子类写的十分简略,趁便以内部类完成了。

仿制代码

1 public class SettingsActivity extends Activity {

2

3 @Override

4 public void onCreate(Bundle savedInstanceState) {

5 super.onCreate(savedInstanceState);

6 setContentView(R.layout.settings);

7 setTitle(选项设置);

8 getFragmentManager().beginTransaction().replace(R.id.settings_content,

9 new PrefsFragment()).commit();

10 }

11

12 public static class PrefsFragment extends PreferenceFragment{

13

14 @Override

15 public void onCreate(Bundle savedInstanceState) {

16 super.onCreate(savedInstanceState);

17 addPreferencesFromResource(R.xml.settings);

18 }

19

20 }

21

22 }

仿制代码

最终就差用户点击你设计好的设置选项了,到了这儿你应该猜到了,翻开设置选项不过只是翻开一个Intent罢了。根本流程就到这儿,可是一个需求取得大用户量运用的设置要比这个杂乱得多,你或许还需求依据用户的设置,当即对运用的体现做出调整,或许要完成onPreferenceTreeClick(PreferenceScreen preferenceScreen,Preference prefence)。正如前文所述,刚触摸Preference,这儿只是总结根本用法。

2. 在设置选项中运用自界说的Preference

Preference类直接承继于Object类。在上文的settings.xml中,界说好几个Preference,Preference只供给简略的文本显现,而它的的子类CheckBoxPreference,SwitchPreference,EditTextPreference等则供给了较为杂乱的UI展现,并能够保存用户的设置数据,一般来说,这些子类Preference关于运用程序愈加重要。关于假如运用这些子类目标,其实很简略,他们能够像UI控件在Layout中的用法相似的运用在Preference界说的xml文件(上文界说的settings.xml)中,根本上运用了eclipse代码提示功用就能够运用,这些用法根底但不是本文的阐明要点。下面旨在介绍怎么界说自己的Preference,先上图看作用。

图一 自界说Preference展现

图一展现了Preference与自界说Preference款式不同,你或许留意到第二项”自界说测验“与其他的Preference只要一个“>“符号的不同,其实这儿包含了自界说一个Preference的完好过程。说道这儿,趁便说下,其实自界说Preference与自界说控件的办法和套路简直共同。仍是总结下根本过程。

1) 界说特点值 attr.xml

仿制代码

1

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/300196.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部