Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说PreferenceActivity和PreferenceFragment对比,希望能够帮助你!!!。
目录
PreferenceActivity 负责加载选项列表界面布局文件
使用PreferenceActivity的步骤
PreferenceFragment 负责加载选项设置界面布局文件
使用PreferenceFragment的步骤
选项列表布局文件是以preference-headers作为根标签,header 作为子标签常用的属性有android:ico指定选项的图标,android:title指定选项的标题,android:summary指定选项的说明。
PreferenceActivity使用界面布局文件的方式是:重写PreferenceActivity.onBuildHeaders(List<Header> target)并在方法中调用loadHeadersFromResource(R.xml.preference, target)方法加载布局文件。
1. 创建一个选项列表界面布局文件。
A.在res目录上右击,在弹出的快捷菜单上选择new->Android Resource File,然后在弹出的对话框选择Resource type 为xml,Root element:选择preference-headers,然后输入File name 点击ok按钮。
2. 创建一个Activity并继承PreferenceActivity。
3. 重写PreferenceActivity的onBuildHeaders方法并在方法中调用loadHeadersFromResource()方法加载布局文件。
代码如下:
package com.example.filedemo;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import java.util.List;
public class PreferenceTestActivity extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onBuildHeaders(List<PreferenceActivity.Header> target) {
super.onBuildHeaders(target);
loadHeadersFromResource(R.xml.preference_list, target);
}
@Override
protected boolean isValidFragment(String fragmentName) {
return true;
}
}
选项设置布局文件是以PreferenceScreen作为根标签,PreferenceCategory、CheckBoxPreference、EditTextPreference、ListPreference、SwitchPreference作为子标签。
PreferenceFragment使用界面布局文件的方式是:重写onCreate(Bundle savedInstanceState)
并在方法中调用addPreferenceFromResource(R.xml.preference_option);
1. 创建一个选项设置界面布局文件。
A.在res目录上右击,在弹出的快捷菜单上选择new->Android Resource File,然后在弹出的对话框选择Resource type 为xml,Root element:选择PreferenceScreen,然后输入File name 点击ok按钮
2. 创建一个Fragment并继承PreferenceFragment
3. 重写PreferenceFragment的onCreate方法并在方法中调用addPreferenceFromResource()方法加载布局文件
代码如下:
package com.example.filedemo;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.support.annotation.Nullable;
public class BlankFragment extends PreferenceFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preference_option);
}
}
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章