PreferenceActivity的使用

PreferenceScreen:设置页面,可嵌套形成二级设置页面,用Title参数设置标题,summary设置描述(标题下面的文字),key设置唯一的ID,每个PreferenceScreen内可添加其它元素作为二级设置页面。

PreferenceCategory:某一类相关的设置,可用Title参数设置标题。

CheckBoxPreference:是一个CheckBox设置,只有两种值,true或false,可用Title参数设置标题sumary设置描述,用summaryOn和summaryOff参数来设置控件选中和未选中时的提示,defaultValue设置默认值。

ListPreference:下拉框选择控件,用Title参数设置标题,用Summary参数设置说明,点击后出现下拉框,用dialogTitle 设置下拉框的标题,下拉框内显示的内容和具体的值需要在res/values/array.xml中设置两个array来表示。

RingtonePreference:铃声选择框,点击后可选择系统铃声。Title参数设置标题,Summary参数设置说明,dialogTitle参数设置铃声选择框的标题。

EditTextPreference:输入框控件,点击后可输入字符串设置。用Title参数设置标题,Summary参数设置说明,dialogTitle参数设置输入框的标题。

MultiSelectListPreferenceandroid:entries是弹出列表的文本数组,而android:entryValues对应相映的值数组,一一对应。android:title控制perference的文本,summary是描述性的文本。


实现代码:首先在xml文件下新建一个pfs.xml,记得resource Type选Preference,如下图所示


<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >  
        <CheckBoxPreference android:key="apply_wifi"  
        android:summary="WLAN"
                android:title="使用无线网络" android:defaultValue="true">  
    </CheckBoxPreference>  
    <EditTextPreference
        android:key="apply_g"
        android:summary="fsdfasdf"
        android:title="EditTextPreference">       
    </EditTextPreference>
    <RingtonePreference 
        android:key="fdsaf"
        android:summary="RingtonePreference"/>
    <SwitchPreference 
        android:key="dfs"
        android:summary="SwitchPreference"/>
    <ListPreference 
        android:key="list"
        android:summary="ListPreference"
        android:entries="@array/listp"
        android:entryValues="@array/listp"/>
    <MultiSelectListPreference
        android:summary="MultiSelectListPreference"
        android:entries="@array/listp"
        android:entryValues="@array/listp">
        
    </MultiSelectListPreference>
        <PreferenceCategory
        android:key="rt1"
 		android:title="PreferenceCategory"  
 		android:summary="选择铃声"  
 	/>  
     <ListPreference 
        android:key="list"
        android:summary="ListPreference"
        android:entries="@array/listp"
        android:entryValues="@array/listp"/>
    <MultiSelectListPreference
        android:summary="MultiSelectListPreference"
        android:entries="@array/listp"
        android:entryValues="@array/listp"/>   
</PreferenceScreen>
MainActivity.java代码,继承了PreferenceActivity 通过 addPreferencesFromResource(R.xml.pfs);引用布局

package com.example.preferences;


import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
import android.widget.Toast;

public class MainActivity extends PreferenceActivity {

	public final static String  EDITTEXT_KEY = "apply_g";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.activity_main);
		addPreferencesFromResource(R.xml.pfs);
		initUI();
	}

	private void initUI() {
		// TODO Auto-generated method stub		
		EditTextPreference ed = (EditTextPreference)findPreference(EDITTEXT_KEY);
		ed.setOnPreferenceClickListener(new OnPreferenceClickListener() {
			
			@Override
			public boolean onPreferenceClick(Preference arg0) {
				// TODO Auto-generated method stub
				Toast.makeText(getApplication(), "EditTextPreference", Toast.LENGTH_SHORT).show();
				return false;
			}
		});
	}

}

array.xml代码

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="listp">
        <item>a</item>
        <item>b</item>
        <item>c</item>  
    </string-array>
</resources>

实现效果:





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值