β

PreferenceFragment: 如何解决向后兼容性的探讨

Danny Suen's Blog 315 阅读

只要是稍微复杂一点的App,都会需要一个用户设置界面。针对这一普遍的需求,Android提供了一套解决方案,并于API Level 1之始就提供了PreferenceActivity类。并在Android 3.0中提供了PreferenceFragment类。

在实践中,像这样直接使用PreferenceActivity会比较受限。

public class SettingsActivity extends PreferenceActivity {
    ...
}

这样我们就会转向更加灵活的PreferenceFragment类。但是令人困惑的是,若要直接使用PreferenceFragment,就必须令minSdkVersion大于或等于11,这样的限制必然会导致失去一批pre Honeycomb的用户。

好奇的人会思索,强大的Android Support Library不是能解决这个问题吗?毕竟,

针对Activity,Support Library提供了android.support.v4.app.FragmentActivity
针对Fragment,Support Library提供了android.support.v4.app.Fragment
那么针对PreferenceFragment, Support Library是否提供了android.support.v4.content.PreferenceFragment

从针对设置的界面设计
开发指南,Android官方都给出了详细的文档。

Android最初就提供了PreferenceActivity类,并于3.0之后加入的PreferenceFragment类。

作者:Danny Suen's Blog
原文地址:PreferenceFragment: 如何解决向后兼容性的探讨, 感谢原作者分享。