1. 首先生成一个preferencescreen的xml文件..看代码:
- <?xml version=”1.0″ encoding=”utf-8″?>
- <PreferenceScreen
- xmlns:android=”http://schemas.android.com/apk/res/android”>
- <CheckBoxPreference
- android:key=”check1″
- android:title=”音乐”
- android:summary=”adas”
- />
- <CheckBoxPreference
- android:key=”autoBack”
- android:title=”自动回复”
- android:summaryOn=”开启”
- android:summaryOff=”关闭”
- android:defaultValue=”true”
- />
- <!– 这里是我自定义的Preference,详细代码请看下面
- android:dialogLayout=”@layout/setting_widthseekbar”
- 这个就是弹出窗口后要显示的布局文件..这个大家想显示成什么样子.自己设置了
- –>
- <preferenceScreen.hall.SeekBarPreference
- android:key=”sss”
- android:title=”111″
- android:dialogTitle=”333″
- android:dialogLayout=”@layout/setting_widthseekbar”
- android:persistent=”true”/>
- <PreferenceCategory android:title=”SMS 助手”>
- <CheckBoxPreference
- android:key=”smsSilence”
- android:title=”静音”
- android:summaryOn=”开启”
- android:summaryOff=”关闭”
- android:defaultValue=”false”
- />
- <PreferenceScreen android:title=”更多选项”>
- <CheckBoxPreference
- android:key=”cb21″
- android:title=”功能1″
- android:summaryOn=”开启”
- android:summaryOff=”关闭”
- android:defaultValue=”true”
- />
- <CheckBoxPreference
- android:key=”cb22″
- android:title=”功能2″
- android:summaryOn=”使用”
- android:summaryOff=”停用”
- android:defaultValue=”true”
- />
- <ListPreference
- android:key=”list1″
- android:title=”android forum”
- android:summary=”开发论坛”
- android:dialogTitle=”请选择论坛”
- android:entries=”@array/entries”
- android:entryValues=”@array/entryvalue”
- />
- <EditTextPreference
- android:key=”et1″
- android:title=”EditTextPreference Sample”
- android:summary=”点击输入”
- android:dialogTitle=”输入设置”
- android:defaultValue=”Hello EditTextPreference”
- />
- </PreferenceScreen>
- </PreferenceCategory>
- <PreferenceCategory android:title=”其他选项”>
- <RingtonePreference
- android:key=”rt1″
- android:title=”RingtonePreference Sample”
- android:summary=”选择铃声”
- />
- <Preference
- android:key=”aa”
- android:title=”测试”
- android:summary=”测试中”
- />
- </PreferenceCategory>
- </PreferenceScreen>
复制代码
2.然后在preferenceActivity里面引用就好了
- import android.app.Activity;
- import android.os.Bundle;
- import android.preference.CheckBoxPreference;
- import android.preference.Preference;
- import android.preference.Preference.OnPreferenceChangeListener;
- import android.preference.PreferenceActivity;
- public class preferenceScreen extends PreferenceActivity
- {
- private CheckBoxPreference chekcb=null;
- /** Called when the activity is first created. */
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- addPreferencesFromResource(R.xml.preference);
- chekcb=(CheckBoxPreference) findPreference(“autoBack”);//这里就像findViewById一样,不过这里的id其实是key的值..
- //下面设置监听器
- chekcb.setOnPreferenceChangeListener(new myPreferencesChance());
- }
- class myPreferencesChance implements OnPreferenceChangeListener{
- @Override
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- // TODO Auto-generated method stubd
- System.out.println(“newValue”+newValue);
- return true;
- }
- }
- }
复制代码
有时候因为需要我们需要自己定义个preference选项..系统自带的那些就满足不了我们了..下面让我们来看下如何自定义preference选项,其实很简单..比如说你要定义一个对话框形式的preference..只要继承DialogPreference就可以了,然后在preferenceScreen里面引用,设置一下属性就好了,xml设置,请看上面的preferenceScreen.xml文件..下面是代码
- ackage preferenceScreen.hall;
- import android.content.Context;
- import android.preference.DialogPreference;
- import android.util.AttributeSet;
- import android.widget.SeekBar;
- import android.widget.SeekBar.OnSeekBarChangeListener;
- public class SeekBarPreference extends DialogPreference implements OnSeekBarChangeListener{
- public SeekBarPreference(Context context, AttributeSet attrs) {
- super(context, attrs);
- // TODO Auto-generated constructor stub
- }
- @Override
- public void onProgressChanged(SeekBar seekBar, int progress,
- boolean fromUser) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- // TODO Auto-generated method stub
- }
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- // TODO Auto-generated method stub
- }
- }
复制代码
今天的文章preferenceActivity和preferencescreen用法分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/26021.html