Android的Preference的使用和监听事件

学习了Preference的用法,这里记录下来供大家参考。

继承结构图

在这里插入图片描述

1、基本组成的使用

1.1组织方式(组合控件)

PreferenceScreen:最平白和基础的方式
PreferenceCategory:带有层次感的方式
请继续往下看 下面有展示

1.2各组件介绍(单一控件)

Preference一般用作设置中,常用的组件就下面几种

组件含义 组件名
普通的Preference Preference
单选框 CheckBoxPreference
铃声选择 RingtonePreference
输入文本框 EditTextPreference
列表框 ListPreference
状态选择 SwitchPreference

1.3通用XML Attributes说明

Attributes 含义
android:key 每个Preference控件独一无二的”ID”,唯一表示此Preference,类似于layout布局里的ID
android:icon Preference的图标
android:defaultValue 默认值。 例如,CheckBoxPreference的默认值可为”true”,默认为选中状态
android:enabled 表示该Preference是否可用状态
android:title 每个Preference在PreferenceScreen布局上显示的标题——大标题
android:summary 摘要,每个Preference在PreferenceScreen布局上显示的标题——小标题(可以没有)
android:persistent 表示Preference元素所对应的值是否写入sharedPreferen文件中,如果是true,则表示写 入;否则,则表示不写入该Preference元素的值
android:dependency 表示一个Preference(用A表示)的可用状态依赖另外一个Preference(用B表示)。B可用, 则A可用;B不可用,则A不可用
android:disableDependentsState 与android:dependency相反。B可用,则A不可用;B不可用,则A可用

1.4特别的Attributes说明

ListPreference

Attributes 说明
android:dialogTitle 弹出控件对话框时显示的标题
android:entries 类型为array,控件欲显示的文本
android:entryValues 类型为array,与文本相对应的key-value键值对,value保存至sharedPreference文件

RingtonePreference

Attributes 说明
android:ringtoneType 响铃的铃声类型,主要有:ringtone(音乐)、notification(通知)、alarm(闹铃) 、all(所有可用声 音类型)
android:showDefault 默认铃声,可以使用系统(布尔值—true,false)的或者自定义的铃声
android:showSilent 指定铃声是否为静音。指定铃声包括系统默认铃声或者自定义的铃声

1.5Demo

在res文件夹下新建xml文件夹,在xml文件夹下新建preference.xml文件

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory android:title="sample">
        <CheckBoxPreference
            android:key="checkbox"
            android:title="CheckBox Preference"
            android:summary="Check it on,check it off"/>
        <RingtonePreference
            android:key="ringtone"
            android:title="Ringtone Preference"
            android:showDefault="true"
            android:showSilent="true"
            android:summary="Pick a tone,any tone"/>
    </PreferenceCategory>

    <PreferenceCategory
        android:title="detail">
        <PreferenceScreen
        	android:key="details_PreferenceScreen"
            android:title="details"
            android:summary="click me,you can see a checkbox">
            <CheckBoxPreference
                android:key="detail_checkbox"
                android:title="Inner CheckBox Preference"
                android:summary="Check it on,check it off"/>
        </PreferenceScreen>
    </PreferenceCategory>
    
//EditTextPreference和ListPreference都以弹框的形式
    <PreferenceCategory android:title="other">
        <EditTextPreference
            android:key="edit"
            android:title="Edit text"
            android:summary="this is a edit text"
            android:dialogTitle="edit something"//弹出时显示的标题
            />
        <ListPreference
            android:key="list"
            android:title="list Preference"
            android:summary="this is a list"
            android:entries="@array/cities"//   为res/values下新建的array.xml文件,如下一步所示
            android:entryValues
  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值