gpt4 book ai didi

android - 如何在android中将PreferenceScreen设置为其他布局

转载 作者:行者123 更新时间:2023-12-04 16:48:01 26 4
gpt4 key购买 nike

我想在我的应用程序中使用 PreferenceScreen,并在 res/xml/setting_preference.xml 中为此 Activity 创建 XML 布局。但是这个 XML 布局非常简单,我想在另一个布局中使用这个布局。
例如:我想使用setting_preference.xmlsetting_activity.xml,setting_activity.xml路径是res/layout/setting_activity.xml

我该怎么办?
setting_preference XML代码:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

<PreferenceCategory
android:key="setting_title_title_category"
android:title="Title options">

<CheckBoxPreference
android:id="@+id/setting_title_show_id"
android:key="setting_title_show"
android:title="Show Main Title"
android:summary="Show/hide MainPage title"
android:checked="true"/>

<EditTextPreference
android:key="setting_title_text"
android:title="Set Main Title"
android:summary="Change MainPage title"
android:dialogTitle="Change Title"
android:dialogMessage="Change title please..."/>

</PreferenceCategory>

<PreferenceCategory
android:key="setting_title_font_category"
android:title="Font options">

<ListPreference
android:key="setting_title_font_color"
android:title="Title font colors"
android:summary="Change title font colors"
android:entries="@array/colors"
android:entryValues="@array/colors"
android:dialogTitle="Change font color" />

</PreferenceCategory>

<RingtonePreference
android:title="tes"/>

</PreferenceScreen>

setting_activity XML代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.tellfa.nikandroid.mytestdbproject.SettingPage">

</RelativeLayout>

设置页面代码:

public class SettingPage extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {

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

@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals("setting_title_font_color")) {
// get preference by key
Preference pref = findPreference(key);
// do your stuff here
}

if (key.equals("setting_title_show")){

Preference pref = findPreference(key);
}
}

public static class MyPreferenceFragment extends PreferenceFragment {
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.setting_prefrences);
}
}
}

最佳答案

在布局 xml 文件中要加载 xml 首选项文件的位置添加 frameLayout,并在该 Activity 中实现 PreferenceFragment。

关于android - 如何在android中将PreferenceScreen设置为其他布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35604449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com