zoukankan      html  css  js  c++  java
  • android PreferenceScreen preference偏好显示类的使用介绍

    PreferenceScreen preference是偏好,首选的意思,PreferenceScreen个人翻译成 “偏好显示”,明白这个意思就好,就是说根据特点灵活的定义显示内容风格,一个屏幕可以包含多个风格,像系统自带的声音设置界面。 
     
    实现这种显示效果其实很简单,只需要借助PreferenceScreen类即可。在项目资源文件中新建xml文件夹,在里面新建preferences.xml文件. 
    根元素为PreferenceScreen 代表显示一整个屏幕,内部嵌套PreferenceCategory标签,表示偏好类别,在PreferenceCategory标签内部可以随便存放复选框,输入框,列表等显示控件.可包含的控件内容在android.preference包下可查阅.xml文件编写好后,需要加载到activity中,对于偏好显示的xml加载,可以使用PreferenceActivity中的addPreferencesFromResource(),所以Activity需要继承PreferenceActivity.既然显示的屏幕中包含复选框,输入框的控件,我们必然对选择与否,输入框内容感兴趣,我们要怎样获取屏幕的内容呢? 
    复写activity中的onPreferenceTreeClick 方法,在对屏幕显示的内容进行操作时,会触发此方法,在方法内部通过调用 
    Java代码  收藏代码
    1. SharedPreferences contentPreference = preference.getSharedPreferences();  
    2.      boolean checkbox_toggle = contentPreference.getBoolean("checkbox_preference"false);  
    3.      String animalName = contentPreference.getString("edittext_preference""default");  

    即可得到屏幕上输入的内容,与使用SharedPreference对象一样,通过key-value 的形式获取,其中key是xml控件标签中key属性对应的值. 
    显示效果: 
     
    对应xml文件: 
    Java代码  收藏代码
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <PreferenceScreen  
    3.         xmlns:android="http://schemas.android.com/apk/res/android">  
    4.   
    5.     <PreferenceCategory  
    6.             android:title="显示一排偏好">  
    7.         <CheckBoxPreference  
    8.                 android:key="checkbox_preference"  
    9.                 android:title="开关偏好"  
    10.                 android:summary="这是一个开关按钮" />  
    11.     </PreferenceCategory>  
    12.     <PreferenceCategory  
    13.             android:title="基于对话框的偏好">  
    14.         <EditTextPreference  
    15.                 android:key="edittext_preference"  
    16.                 android:title="文本输入偏好"  
    17.                 android:summary="使用一个文本框对话框"  
    18.                 android:dialogTitle="输入你的宠物" />  
    19.         <ListPreference  
    20.                 android:key="list_preference"  
    21.                 android:title="列表偏好"  
    22.                 android:summary="使用一个列表对话框"  
    23.                 android:entries="@array/entries_list_preference"  
    24.                 android:entryValues="@array/entryvalues_list_preference"  
    25.                 android:dialogTitle="选择一个" />  
    26.     </PreferenceCategory>  
    27.     <PreferenceCategory  
    28.             android:title="启动偏好">  
    29.         <PreferenceScreen  
    30.                 android:key="screen_preference"  
    31.                 android:title="屏幕"  
    32.                 android:summary="显示另一个偏好屏幕">  
    33.               
    34.             <!-- You can place more preferences here that will be shown on the next screen. -->  
    35.                        
    36.             <CheckBoxPreference  
    37.                     android:key="next_screen_checkbox_preference"  
    38.                     android:title="开关偏好"  
    39.                     android:summary="另一个屏幕上的偏好" />  
    40.         </PreferenceScreen>  
    41.   
    42.         <PreferenceScreen  
    43.                 android:title="意图偏好"  
    44.                 android:summary="通过意图启动一个Activity">  
    45.             <intent android:action="android.intent.action.VIEW"  
    46.                     android:data="http://www.android.com" />  
    47.         </PreferenceScreen>  
    48.     </PreferenceCategory>  
    49.     <PreferenceCategory  
    50.             android:title="偏好属性">  
    51.         <CheckBoxPreference  
    52.                 android:key="parent_checkbox_preference"  
    53.                 android:title="父开关"  
    54.                 android:summary="这是一个父开关" />  
    55.         <CheckBoxPreference  
    56.                 android:key="child_checkbox_preference"  
    57.                 android:dependency="parent_checkbox_preference"  
    58.                 android:layout="?android:attr/preferenceLayoutChild"  
    59.                 android:title="子开关"  
    60.                 android:summary="这是一个子开关" />  
    61.     </PreferenceCategory>  
    62. </PreferenceScreen>  
  • 相关阅读:
    Windows XP下 Android开发环境 搭建
    Android程序的入口点
    在eclipse里 新建android项目时 提示找不到proguard.cfg
    64位WIN7系统 下 搭建Android开发环境
    在eclipse里 新建android项目时 提示找不到proguard.cfg
    This Android SDK requires Android Developer Toolkit version 20.0.0 or above
    This Android SDK requires Android Developer Toolkit version 20.0.0 or above
    Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead
    Windows XP下 Android开发环境 搭建
    Android程序的入口点
  • 原文地址:https://www.cnblogs.com/lechance/p/4373146.html
Copyright © 2011-2022 走看看