生活随笔
收集整理的這篇文章主要介紹了
关于prefrenceactivity和preferencefragment的作用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在使用Android手機的時候,尤其是在操作軟件設(shè)置時,我們經(jīng)常見到這樣的界面:
這是怎么來實現(xiàn)的的呢?其實android已經(jīng)提供了相應(yīng)的類和方法,當進行簡單數(shù)據(jù)存儲時(比如:軟件配置參數(shù))android推薦使用Preferences,當然如果想提供操作界面的話就要用到PreferencesActivity。我這里先做個小例子對來簡單說明一下使用方法,由于沒做準備,可能講的不系統(tǒng),以后補上。
首先:新建一個android工程,在其res文件夾下新建一個xml文件夾,用來存儲我們的PreferencesActivity需要展示的界面。
然后在xml文件夾下新建一個xml文件,名字隨意去,這里我建的名字叫:setting.xml
[html]?view plaincopy print?
<?xml?version="1.0"?encoding="utf-8"?>?? <PreferenceScreen?? ??xmlns:android="http://schemas.android.com/apk/res/android">?? ????<PreferenceCategory?android:title="分組一">???? ??????<Preference????? ???????android:key="Already"????? ???????android:title="本地"????? ???????android:summary="管理本地"/>???? ???</PreferenceCategory>??? ?????? ????<PreferenceCategory?? ????android:title="分組二">?? ????<ListPreference??? ????android:key="CellCount"?? ????android:title="行列數(shù)選擇"?? ????android:defaultValue="3"?? ????android:entries="@array/settings_cell_count"?? ????android:entryValues="@array/settings_cell_values"?? ????/>?? ????</PreferenceCategory>?? ?????? ????<PreferenceCategory?? ????????android:title="@string/settings_cat_drawer">?? ????????<ListPreference?? ????????????android:key="CurrentDrawerSortOrder"?? ????????????android:title="@string/settings_drawer_sorting"??? ????????????android:defaultValue="1"?? ????????????android:entries="@array/settings_sorting_names"??? ????????????android:entryValues="@array/settings_sorting_values"?/>?? ?????????????? ????????<CheckBoxPreference??? ????????android:title="CheckBox"??? ????????android:summary="check!!!!!!!!!!"??? ????????android:key="check"></CheckBoxPreference>?? ?????????? ????????<EditTextPreference??? ????????android:title="EditText"??? ????????android:summary="edit!!!!!!!!!!"??? ????????android:key="edit"></EditTextPreference>?? ????</PreferenceCategory>?? </PreferenceScreen>??
當然titl之類的名字都可以采用"@string/settings_drawer_sorting"的方式引用我們自己定義的名字,這里為了簡單直接寫上去了(不推薦)。title是上面亮白的大字,summary是title下面的小字說明,字數(shù)不要太多啊,它的顯示空間是固定的,多了也顯示不出來。
里面填充的數(shù)據(jù)我就不寫了,應(yīng)該都會的吧,不會的可以自己百度一下android array的使用與定義吧。
?
那么,我們怎么把這個xml顯示出來呢?
需要新建一個Activity繼承PreferencesActivity,下面是具體代碼:
[java]?view plaincopy print?
package?com.preference.demo;?? ?? import?android.os.Bundle;?? import?android.preference.Preference;?? import?android.preference.PreferenceActivity;?? import?android.preference.PreferenceScreen;?? import?android.util.Log;?? ?? public?class?PreferenceDemo?extends?PreferenceActivity{?? ????static?final?String?MANAGER_LOCATION_THEME=?"Already";?? ?????? ????@Override?? ????protected?void?onCreate(Bundle?savedInstanceState)?{?? ?????????? ????????super.onCreate(savedInstanceState);?? ????????this.addPreferencesFromResource(R.xml.setting);?? ????}?? ?? ????@Override?? ????public?boolean?onPreferenceTreeClick(PreferenceScreen?preferenceScreen,?? ????????????Preference?preference)?{?? ?????????? ???????????????????String?key=preference.getKey();?? ?????????? ????????if(key.equals(MANAGER_LOCATION_THEME)){?? ????????????Log.i("xml","already_exsting_theme");?? ?????? ????????}?? ????????? ????????return?super.onPreferenceTreeClick(preferenceScreen,?preference);?? ????}?? ?? }?? ??
運行效果圖如下:
點擊本地打印log,log截圖:
我們還可以在需要的地方讀取xml里的值,我會在后續(xù)的文章里說一下,如果等不及的可以自己百度一下Preferences的使用,我們自己寫的xml實際上就是Preferences的使用,其數(shù)據(jù)的讀取方式是一樣的。
?
該文章寫得過于倉促,內(nèi)容很簡陋,如果有什么錯誤或表達不當?shù)牡胤秸埩粞?#xff0c;一定改,拜謝各
總結(jié)
以上是生活随笔為你收集整理的关于prefrenceactivity和preferencefragment的作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。