日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

AndroidStudio之自定义PreferenceScreen

發布時間:2023/12/14 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AndroidStudio之自定义PreferenceScreen 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Preference的常用xml屬性

1.首先了解一下常用的xml屬性

  • 通過上圖可知,使用android:layout屬性可以自定義控件的UI樣式
    添加自定義控件
<Preferenceandroid:title="Preference"android:key="key_pre"android:icon="@mipmap/ic_launcher"android:layout="@layout/preference_layout"/>

常用接聽接口

一、Preference.OnPreferenceChangeListener 該監聽器的一個重要方法如下:

boolean onPreferenceChange(Preference preference,Object objValue)

說明: 當Preference的元素值發送改變時,觸發該事件。

返回值:true 代表將新值寫入sharedPreference文件中。

false 則不將新值寫入sharedPreference文件

二、Preference.OnPreferenceClickListener 該監聽器的一個重要方法如下:

public booleanonPreferenceClick(Preference preference)

說明:當點擊控件時觸發發生,可以做相應操作。

觸發規則:

  • 先調用onPreferenceClick()方法,如果該方法返回true,則不再調用onPreferenceTreeClick方法 ;
  • 如果onPreferenceClick方法返回false,則繼續調用onPreferenceTreeClick方法。

  • onPreferenceChange的方法獨立與其他兩種方法的運行。也就是說,它總是會運行。
  • 自定義監聽

    主要實現依賴于上面介紹的兩個接口

  • 繼承PreferenceActivity實現具體業務類,重寫相關生命周期方法
  • public class MainActivity extends PreferenceActivity implementsPreference.OnPreferenceClickListener{private PreferenceScreen hd_imSelect;private ImageButton header_pic1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);header_pic1 = findViewById(R.id.pic_1);addPreferencesFromResource(R.xml.preferences);hd_imSelect = (PreferenceScreen) findPreference("header_select");hd_imSelect.setOnPreferenceClickListener(this);}....}
  • 重寫onPreferenceClick()方法
  • @Overridepublic boolean onPreferenceClick(Preference preference) {// TODO Auto-generated method stubLog.i(TAG, "onPreferenceClick----->"+String.valueOf(preference.getKey()));// 對控件進行操作operatePreference(preference);return false;//這里return false}
  • 調用自定義的方法(這里我展示的是AlertDialog)
    • 首先要設置好所需的布局文件
    private void operatePreference(Preference preference) {if (preference == hd_imSelect) {AlertDialog.Builder builder = new AlertDialog.Builder(this);LayoutInflater inflater = getLayoutInflater();builder.setView(inflater.inflate(R.layout.alert_items, null)).setPositiveButton("確定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int id) {dialog.dismiss();}});builder.create();builder.show();}}

    效果如下

    總結

    以上是生活随笔為你收集整理的AndroidStudio之自定义PreferenceScreen的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。