PreferenceActivity的使用及示例界面的实现(一)

本文介绍了如何使用PreferenceActivity创建设置界面,包括PreferenceScreen、PreferenceCategory、CheckBoxPreference、ListPreference、EditTextPreference和RingtonePreference等组件的用法。通过示例展示了如何构建一个包含多种控件的设置程序,涉及音乐选择、常规设置和软件使用说明等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     昨天,开始尝试了PreferenceActivity的使用,缘由是因为之前做过的一款产品,《翻转静音》,效果太差了,最近很无意之间看到了PreferenceActivity的使用,我想用它来重新对产品进行一番设计应该会效果不错。
     不多说了,现在就来进行PreferenceActivity的一些简单的介绍,然后我们在来着手进行一个示例所需软件界面的开发。
     先介绍一下关于PreferenceActivity中的常用组件:
     PreferenceScreen:设置页面,可嵌套形成二级设置页面,用Title参数设置标题。
     PreferenceCategory:某一类相关的设置,可用Title参数设置标题。
     CheckBoxPreference:是一个CheckBox设置,只有两种值,true或false,可用Title参数设置标题,用summaryOn和summaryOff参数来设置控件选中和未选中时的提示。
     ListPreference:下拉框选择控件,用Title参数设置标题,用Summary参数设置说明,点击后出现下拉框,用dialogTitle设置下拉框的标题,下拉框内显示的内容和具体的值需要在res/values/array.xml中设置两个array来表示。
     EditTextPreference:输入框控件,点击后可输入字符串设置。用Title参数设置标题,Summary参数设置说明,dialogTitle参数设置输入框的标题。
     RingtonePreference:铃声选择框,点击后可选择系统铃声。Title参数设置标题,Summary参数设置说明,dialogTitle参数设置铃声选择框的标题。
     
     以上是关于PreferenceActivity中布局文件Preference中的元素的描述,建立完布局文件后,在类中addPreferencesFromResource(R.xml. preference );即可。
     则来建立一个比较简单的PreferenceActivity的设置程序吧。
     1.建立一个App工程,如取名为PreferenceTestActivity。
     2.在res文件夹下新建一个xml的文件,并新建文件Android XML File,选择其类型为Preference即可。
     3.根据不同的需求编写Preference的布局文件,我们以最全面的设置为背景,包含以上提到的各种控件,为大家提供方便。
     4.关于Preference布局文件的编写,分析布局的需求,我们发现,需要CheckBoxPreference、Preference、ListPreference、EditTextPreference等。
          (1)在preference.xml中建立所需要的PreferenceCategory,并可以为其设置key(类似于id)和title(标题)等相关属性。
          (2)在PreferenceCategory中添加自己所想要添加的控件,如在本例中,作者想添加CheckBoxPreference、EditBoxPreference、ListPreference的控件,          并为其详细设置相关的信息,其中xml的文件内容在稍后将会给出。
          (3)在PreferenceScreen中新建另外一个PreferenceCategory,显示选择音乐的RingtonePreference,实现音乐的选择功能。
          (4)在PreferenceScreen中新建另外一个Preference,其作用是为软件的使用者传达相关的信息,如开发者简介和帮助使用等。
     5.详细的xml文件如下所示:
    <?xml version="1.0" encoding= "utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
    <PreferenceCategory android:key= "preferencecategory_normal"
        android:title="常规设置"
        >
        <CheckBoxPreference
            android:key="checkboxpreference_open"
            android:title="打开软件"
            android:summaryOn="XX软件:已打开"
            android:summaryOff="XX软件:已关闭"
            android:defaultValue="true"
            ></CheckBoxPreference>
        <EditTextPreference
            android:key="edittextpreference_name"
            android:title="输入信息"
            android:summary="点此输入信息"
            android:dialogTitle="在下面的输入框中输入信息"
            ></EditTextPreference>
        <ListPreference
            android:key="listpreference_choose"
            android:entries="@array/list_preference_name"
            android:entryValues="@array/list_preference_value"
            android:title="选择内容"
            android:summary="在此选择您想要的信息"
            />
    </PreferenceCategory >
   
    <PreferenceCategory android:title= "音乐设置" >
        <RingtonePreference
                   android:key = "ringselect"
                   android:title="音乐选择"            
                   android:summary="选择您喜欢的音乐"
            />
    </PreferenceCategory >
   
    <PreferenceCategory android:title= "软件使用说明" >
             <Preference
                android:key="preference_about"
                android:title="软件说明"
                android:summary="软件使用说明和帮助文档"
             ></Preference>    
    </PreferenceCategory >

</PreferenceScreen>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值