Android設定介面之Preference

2021-07-30 07:14:12 字數 2184 閱讀 5145

android系統為設定介面的ui提供了一系列的介面,設定介面的部分和activity是分離的,會有乙個preferencescreen的物件

是根目錄,在其中會包含checkboxpreferenceedittextpreferencelistpreferencepreferencecategoryringtonepreference

概述由於設定的介面是使用preference而不是view來建立的,需要特殊的activity或者fragment的子類來顯示

在xml中定義preference

可以在執行時建立preference也可以通過在xml中定義preference,每乙個preference的子類都可以用xml中的元素來定義,在res/xml/

資料夾中建立乙個檔案如preference.xml

如果想定義分屏的設定布局,需要分別定義xml

preference.xml一般的布局如下:

<?xml version="1.0" encoding="utf-8"

?>

xmlns:android="">

android:key="pref_sync"

android:title="@string/pref_sync"

android:summary="@string/pref_sync_summ"

android:defaultvalue="true" />

android:dependency="pref_sync"

android:key="pref_syncconnectiontype"

android:title="@string/pref_syncconnectiontype"

android:dialogtitle="@string/pref_syncconnectiontype"

android:entries="@array/pref_syncconnectiontypes_entries"

android:entryvalues="@array/pref_syncconnectiontypes_values"

android:defaultvalue="@string/pref_syncconnectiontypes_default" />

preferencescreen>

建立preferenceactivity

使用preference fragments

在高於android 3.0(api 10)的版本,應該使用preferencefragment來顯示preference,就不需要繼承preferenceactivity

繼承preferencefragmentoncreate()方法中呼叫addpreferencesfromresource()方法

public class

settingsfragment

extends

preferencefragment

}

建立乙個activity,然後將定義的fragments新增到當前的activity中,最終呈現的效果和preferenceactivity是一樣的

public class

settingsactivity2

extends

activity

}

使用preference header

自定義preference的布局

通過preference的屬性android:layout=""設定自定義的layout檔案

設定介面android 設定介面

最近研究設定介面,稍微總結一下,以後繼續補充 android供給了方便的安排設定介面的介面,不得不真心說個贊。對基本功能設計者都斟酌到了,極大方便了開發者,如果對設定介面沒有什麼特殊需求,那麼這些介面完全能滿足你,閒話少說,直接上案例。如果只是簡單設定,那麼完全可以在乙個xml檔案中布局。而且設計者...

Android之介面處理

1 去除上邊框 設定主題如下 android allowbackup true android icon mipmap icon android roundicon mipmap icon android supportsrtl true 出現問題 這樣會導致乙個問題就是在頁面中有可能一些會被上邊框...

將android介面背景設定為黑色

將介面背景設定為黑色的幾種方法 系統自帶樣式android theme android theme android style theme.dialog 將乙個activity顯示為能話框模式 android theme android style theme.notitlebar 不顯示應用程式標...