首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用androidx.preference.PreferenceScreen和PreferenceScreen的区别

使用androidx.preference.PreferenceScreen和PreferenceScreen的区别
EN

Stack Overflow用户
提问于 2018-10-29 13:20:59
回答 1查看 9.5K关注 0票数 5

我的应用程序以API 28为目标,并且有一个最小的API 15。作为支持库,我使用AndroidX

我有一个由活动托管的偏好片段,如下所示:

SettingsFragment.java

代码语言:javascript
复制
package com.example.app;

import android.os.Bundle;

import androidx.preference.PreferenceFragmentCompat;

public class SettingsFragment extends PreferenceFragmentCompat {

    @Override
    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
        setPreferencesFromResource(R.xml.preferences, rootKey);

    }
}

SettingsActivity.java

代码语言:javascript
复制
package com.example.app;

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

public class SettingsActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getSupportFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit();
    }
}

下面是SettingsFragment.java使用的XML布局

preferences.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <SwitchPreference
        android:defaultValue="false"
        android:key="pref_switch"
        android:title="@string/switch" />
</PreferenceScreen>

作为首选项层次结构的根,是否应该使用PreferenceScreenandroidx.preference.PreferenceScreen使布局实际上是向后兼容的(使用AndroidX)?这两者有什么区别呢?什么是最佳做法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-29 13:28:25

来自医生们

AndroidX是安卓团队用来在喷气背包中开发、测试、打包、版本和发布库的开源项目。 AndroidX是对最初的安卓支援图书馆的一个重大改进。和支持库一样,AndroidX独立于AndroidX,并提供了跨安卓版本的向后兼容性。AndroidX通过提供功能均等和新的库完全取代了支持库。此外,AndroidX还包括以下特性:

  • AndroidX中的所有包都位于以字符串androidx开头的一致命名空间中。支持库包已经映射到相应的androidx.*包中。有关所有旧类和构建工件到新类的完整映射,请参见包重构页面。

所以简单地说,这是一个新的库,您应该使用它而不是支持库,因为它有最新的组件和特性。

因此,您的PreferenceScreenandroidx.preference.PreferenceScreen相同,但与不同的包装器捆绑在一起。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53046401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档