歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Android中Preference標簽的使用

Android中Preference標簽的使用

日期:2017/3/1 9:31:03   编辑:Linux編程

現在做公司任務的時候,經常會要去讀Settings的源碼,然後發現在xml文件中幾乎全是用的preferenceScreen和preferenceCategory標簽,很少有用布局和控件的,然後我就自己上網看了很多有關的資料,在此總結下。

首先在res目錄下,新建一個命名為xml的文件夾,然後建立一個aaa.xml文件,選擇resource標簽。

先使用PreferenceCategory,代碼如下

1 <PreferenceCategory Android:title="顯示一排偏好" >
2         <CheckBoxPreference
3             android:key="checkbox_pre"
4             android:summary="這是一個開關按鈕"
5             android:title="開關偏好" />
6     </PreferenceCategory>

效果圖:

PreferenceCategory相當於分組,把同一類的選項放在同一塊區域。

再來看看PreferenceScreen,代碼如下

1 <PreferenceScreen
2             android:key="screen_pre"
3             android:summary="顯示另一個偏好屏幕"
4             android:title="屏幕" >
5             <CheckBoxPreference
6                 android:key="next_screen_checkbox_pre"
7                 android:summary="另一個屏幕上的偏好"
8                 android:title="開關偏好" />
9         </PreferenceScreen> 

如圖,,然後發現沒有checkbox顯示

因為PreferenceScreen是可以點進去的,點擊該選項,進入就可以看到checkbox了

然後看看ListPreference,一般都嵌在PreferenceScreen中使用,看起來比較舒服,代碼如下

<PreferenceScreen android:title="基於對話框的偏好" > 
<ListPreference
            android:dialogTitle="選擇一個"
            android:entries="@array/auto_update_frequency_entry"
            android:entryValues="@array/auto_update_frequency_value"
            android:key="list_pre"
            android:summary="使用一個列表對話框"
            android:title="列表偏好" >
        </ListPreference>
</PreferenceScreen>

點擊該screen,listPreference會像dialog一樣彈出來,如圖

android:entries和android:entryValues兩個屬性的值來源:

在values目錄下建立一個array.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="auto_update_frequency_entry">
        <item >10分鐘</item>
        <item >30分鐘</item>
        <item >1小時</item>
        <item >12小時</item>
        <item >24小時</item>
    </string-array>
    <string-array name="auto_update_frequency_value">
        <item >10</item>
        <item >30</item>
        <item >60</item>
        <item >720</item>
        <item >1440</item>
    </string-array>
</resources> 

目前大概就了解了這些,以後有什麼再補充

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved