preference菜单要在PreferenceFragment中使用,但是这个过期了,最新的建议使用PreferenceFragmentCompat。androidx需要引入的库为
androidx.preference:preference:1.2.0
public abstract class PreferenceFragmentCompat extends Fragment implements...
集成自Fragment,所以我们可以按照Fragment的生命周期来分析。
1、先看onCreate
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final TypedValue tv = new TypedValue();
//设置主题
requireContext().getTheme().resolveAttribute(R.attr.preferenceTheme, tv, true);
int theme = tv.resourceId;
//preferenceTheme为空时使用PreferenceThemeOverlay
if (theme == 0) {
// Fallback to default theme.
theme = R.style.PreferenceThemeOverlay;
}
requireContext().getTheme().applyStyle(theme, false);
//PreferenceManager是一个重要的类,需要使用它来管理Preference组件
mPreferenceManager = new PreferenceManager(requireContext());
mPreferenceManager.setOnNavigateToScreenListener(this);
final Bundle args = getArguments();
final String rootKey;
if (args != null) {
rootKey = getArguments().getString(ARG_PREFERENCE_ROOT);
} else {
rootKey = null;
}
//子类可以在这里面通过 setPreferenceScreen(Preference

文章详细介绍了如何在AndroidX环境下使用PreferenceFragmentCompat来展示偏好设置。首先,需要引入androidx.preference库,然后在onCreate方法中设置主题和创建PreferenceManager。接着,在onCreateView中创建并配置RecyclerView。默认布局preference_list_fragment.xml包含了一个FrameLayout用于添加RecyclerView。最后,onCreateRecyclerView方法用于创建并返回RecyclerView。文章还提到了关键方法如addPreferencesFromResource和onPreferenceTreeClick,以及如何处理点击事件和设置Adapter。
最低0.47元/天 解锁文章
987

被折叠的 条评论
为什么被折叠?



