zoukankan      html  css  js  c++  java
  • preference activity框架

    从android3.0开始preference框架做了重大改变

    框架由一下四部分组成

    1、preference screen布局

      一个xml文件,指定了要显示的Preference控件。

      每个控件应当至少包含4个属性key,title,summary,default value

    2、preference activity和preference fragment

      android3.0以前是preference activity直接包含preference screen。3.0以后,也为了兼容以后的版本,preference fragment包含preference screen,

       preference headers包含preference fragment,preference activity包含headers

      涉及到两个api

     

    public class UserPreferenceFragment extends PreferenceFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.userpreferences);
        }
    }
    public class PreferenceFragmentActivity extends PreferenceActivity {
    
        @Override
        public void onBuildHeaders(List<Header> target) {
            loadHeadersFromResource(R.xml.preference_headers,target);
        }
    }

      

    3、preference headers

      也是一个xml资源,描述了fragment在activity中如何分组,显示。每个header读要与一个fragment想关联

      

    <preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
        <header android:fragment="com.qunzheng.anim.ui.UserPreferenceFragment"
            android:title="设置"
            android:summary="地震刷新设置"/>
    </preference-headers>

    4、onPreferenceChangeListener

      preference改变的话触发的事件,当activity与service对preference中的值敏感的话尤其又用。

      

      sp = PreferenceManager.getDefaultSharedPreferences(this);
            sp.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener() {
                @Override
                public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
                    
                }
            });
  • 相关阅读:
    问:Linux下Chrome标题栏中文乱码
    通过printf设置Linux终端输出的颜色和显示方式
    连HTTPS都有漏洞,这么不安全的互联网我们还要继续用吗?
    为什么TCP连接不可靠
    TCP发送接口的返回值
    /proc/uptime详解
    Linux Kernel Version Numbering
    Understanding Linux /proc/cpuinfo
    Android Tips: Best Practices for Using Alpha
    如何让LinearLayout也有类似Button的点击效果?
  • 原文地址:https://www.cnblogs.com/zhengqun/p/4618782.html
Copyright © 2011-2022 走看看