PreferenceFragment的简单使用
在4.0中使用 PreferenceActivity 的addPreferencesFromResource(R.xml.*); 提示过期,经查证,新的替代为 PreferenceFragment,所以,打算将之前的代码换掉。
以前的代码结构:
public class MainActivity extends PreferenceActivity {@SuppressWarnings({ "deprecation" })@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main_activity);addPreferencesFromResource(R.xml.main_settings);}
}
官方给出的新的代码结构为:
public class SettingsActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// Display the fragment as the main content.getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit();}public static class SettingsFragment extends PreferenceFragment {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// Load the preferences from an XML resourceaddPreferencesFromResource(R.xml.preferences);}}
}
执行一下,效果盖住了整个屏幕,并不是自己想要的(自己想把preference嵌入其他布局中)。由于学艺不精,不知道 android.R.id.content 是个什么元素。今天突然发现它原来是根布局。有点小高兴,遂做了简单的修改:
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setTheme(android.R.style.Theme_Holo_Light_NoActionBar);setContentView(R.layout.activity_main);// getFragmentManager().beginTransaction()// .replace(android.R.id.content, new PrefsFragement()).commit();getFragmentManager().beginTransaction().replace(R.id.llPF, new PrefsFragement()).commit();}public static class PrefsFragement extends PreferenceFragment {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);addPreferencesFromResource(R.xml.preferences);}}
}
布局文件activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/tvAlert"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:padding="10dip"android:text="测试 Preferencefragement" /><LinearLayoutandroid:id="@+id/llPF"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical" ><TextViewandroid:id="@+id/tvPF"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center_horizontal"android:padding="10dip"android:text="我是llPF的子元素" /></LinearLayout></LinearLayout>
最终效果如下:
虽然效果实现,但是并没有达到和之前一样的效果,尝试修改Activity的主题,但是不起作用,请高手指点
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.ttdevs.test.preferencefragement"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="15"android:targetSdkVersion="17" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher" ><activityandroid:name=".MainActivity"android:label="@string/app_name"android:theme="@android:style/Theme.DeviceDefault.Light.NoActionBar" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
参考:
http://developer.android.com/guide/topics/ui/settings.html#Fragment
http://blog.csdn.net/eyu8874521/article/details/8250611
PreferenceFragment的简单使用相关推荐
- 转载:BP(反向传播算法)公式推导及例题解析
首发于 深度学习与我的那些事 写文章 BP(反向传播算法)公式推导及例题解析 WILL 深度学习搬砖者 关注他 297 人 赞同了该文章 写在前面:最近赶上<模式识别>课程考试,就把B ...
- android 切换 preferencefragment,Android PreferenceActivity与PreferenceFragment详解及简单实例_Android_脚本之家...
Android PreferenceActivity与PreferenceFragment 前言 转来转去又回到了Android,闲话少说,这里是参考Android原生的Settings应用来介绍一 ...
- 【Android UI设计与开发】4.底部菜单栏(一)Fragment介绍和简单实现
TabActivity在Android4.0以后已经被完全弃用,取而代之的是Fragment.Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Acti ...
- Android数据存储(二)----PreferenceFragment详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Android-自定义preference和PreferenceFragment实例详解
我们在Android原生系统中所看到的设置界面,使用的是与Preference相关的视图完成的.使用Preference相关的视图能较好地进行了文字的分类和排版.而原生的preference基本很难满 ...
- PreferenceActivity和PreferenceFragment实现设置界面
我们在Android原生系统中所看到的设置界面,使用的是与Preference相关的视图完成的.使用Preference相关的视图能较好地进行了文字的分类和排版.而原生的preference基本很难满 ...
- android开发中Settings结构简单分析
Settings界面结构简单分析 Setting是android系统很重要的模块,这个模块并不是很复杂,这部分也一直在看,很多时候都是在看某个具体的选项,比如WLAN,蓝牙这样具体的源码,但是对于主界 ...
- android机顶盒简单案例
最近,对Andoid中APK做了一些修改,让其支持遥控器的支持,这把人弄得焦头烂额,好不郁闷,这里特别记录下思路,留给有需要的同志. 1 2 3 其实Android本身是做了对遥控器的上下左右按键的焦 ...
- 关于开发个简单应用(账号管家)的总结
前言 转眼已经毕业一年了,工作一年还是学到了很多东西,但是由于公司维护的老项目,目前还是用eclipse开发,看着android studio 2.0 出来了,还是很想去尝试的,另外很多高版本的API ...
最新文章
- 除了 AI,这些技术为 IIoT 插上飞向“4.0”的翅膀
- php头代码,PHP常用header头定义代码示例汇总
- Hikari连接池配多大合适
- python颜色形状识别_Python自定义颜色形状Fi
- python 钉钉消息推送_python3实现钉钉消息推送的方法示例
- System.Delete - 从字符串中删除
- 机器学习速成课程 | 练习 | Google Development——编程练习:神经网络简介
- Oracle监听器无法启动
- LINUX上传下载小工具lrzsz
- 2022年电工杯B题应急物资配送问题浅析
- java 本地文件上传到服务器,java本地文件上传到远程服务器
- 【单片机】2.5 AT89S52的并行I/O端口
- 数学在线绘图计算机,Desmos Graphing Calculator插件,在线可视化图形计算器
- NLPCC2019 - User-Characteristic Enhanced Model for Fake News Detection in Social Media
- 网站如何知道浏览器的用户在使用什么语言?
- 接收sqlplus的值_ORACLE中的替换变量或替代变量:-------Oracle中sqlPlus -oracle 输出变量...
- vc禁止标题栏拖动窗口
- 7.2 IDEA 没有Java EE
- des加密算法(des加密算法的密文分组长度)
- 沁恒CH32V307使用记录:GPIO与EXTI
热门文章
- C语言中的void和void指针-void*,及void指针做函数参数。
- ubuntu14.04安装与软件重装说明
- 数字化波形声音的wav文件浅析
- 移动端框架 - Bootstrap
- 基于Java的SMTP协议邮件发送模拟系统
- 基于惯性动捕的动画应用解决方案——3DMAX篇
- linux中管道符“|”的作用
- 二级联动 三级联动 多级联动 无限级联动下拉列表或菜单专题
- 探索浏览器(二)向DNS服务器查询Web服务器的IP地址
- 通达信 服务器 修改,通达信金融交易终端(开心果交易版)V2020版,修改导航菜单...