【UI模块】Fragment之一(创建和调用)
来源:互联网 发布:网吧软件管理 编辑:程序博客网 时间:2024/05/31 11:04
创建一个Fragment(简单来说就是嵌套)
必须创建一个Fragment子类或继承一个已存在的子类。然后在onCreateView( ) 方法中加载属于Fragment自己的布局文件。
PS:
onCreateView()方法:
Fragment第一次绘制它的用户界面的时候,系统会调用此方法,用来绘制Fragment的UI,此方法必须返回一个View,如果不显示UI,返回null即可
onCreatView()方法参数:
resource:Fragment需要加载的布局文件
root:加载layout的父ViewGroup
attactToRoot:false,不返回ViewGroup
处理Fragment事务:
如果允许用户通过按下 BACK 按键返回到前一个 Fragment 状态,调用 commit() 之前可以加入 addToBackStack() 方法 ↓↓↓↓↓↓↓↓
动态加载的实现
//首先再新建 Fragement 类,再给这个 fragement 新建个XML文件//然后在主类里面,先初始化(实例化)这个 fragement 类MyFragement fragement = new MyFragement();//然后创建一个管理者FragementManager fragementManager = getFragement();//再开启一个事务FragementTransaction beginTransaction=framentManager.beginTransaction();//可以进行:添加,移除,替换,操作beginTransaction.add(R.id.frame(这里填ID),fragement2(这里是对象));beginTransaction.remove();beginTransaction.replace();//如果想按返回键返回上一页,可添加此代码beginTransaction.addToBackStack(null);//(这里要填写一个名字,也可以写为空值)//提交事务beginTransaction.commit();
Fragment
是一个模块化和可重用的组件,因为Fragment定义了他自己的布局,以及通过它的生命周期回调方法定义了它的行为,可将Fragment包含到多个Activity中。
Fragment支持更灵活的布局,可以作为activity的一部分,可以独立,也可以和activity进行交互。
Fragment可以让两个activity显示在平板,如果是手机上,手机屏幕没有那么大,就会自动变为两个屏幕去显示。(自适应能力)
Fragment知识概要:
I、可以做为Activity界面的一部分组成出现
II、可以在一个Activity中同时出现多个Fragment并且一个Fragment也可以在多个Activity中使用
III、Fragment可以影响自己的输入事件,并且有自己的生命周期,它们的生命周期会受宿主Activity的生命周期的影响。
二、Fragment的加载方式
1 , 静态加载
在Activity的layout文件中声明Fragment,需要特别注意的是fragment中android:name属性指定了在layout实例化Fragment类
PS:标识Fragment的方法
(1)android:id属性提供一个唯一的ID
(2)android:tag属性提供了一个唯一的字符串
需要注意的是:
一、新建一个fragment.xml文件,放置我们的 fragment 框架,每一个 fragment 对应一个 myfragemt.xml 文件
二、创建主界面启动Activity_main.java
三、创建fragment所需要呈现的样式myfragmet.xml
四、创建MyFragment.java文件去修改view
AND!
fragment 自己也要有个类继承 Fragment ,在其中的 onCreateView 方法中加载 fragment 布局文件,返回 view 对象。
fragment 标签需要有 name 属性设置类的完整包名的id或者唯一tag标签
加载 fragment 的 activity 中可以直接访问到 fragment 布局中的控件 id
小技巧
1. 首先是fragment.xml 是子fragment的控件排布和内容。
2. fragment_main是管理fragment的组,里面的每个 fragment组件 对应一个fragment.xml
3. Myfragment.java相当于是我们对fragment重写的类。
4. mainactivity就可以对相应的fragment操作了。
思路:
MainActivity(主界面),布局文件是Main.xml(RadioGroup,RadioButton)之后创建了一个MainActivity2(静态加载Fragment的界面),它的布局文件是Main2.xml(这个布局里添加了一个Fragment标签->静态加载),并在这个xml文件中为Fragment标签定义了:name=”MyFragment”属性,这个属性对应了Fragment标签对应的包和类–>这个MyFragment.java(继承Fragment),并重写 onCreatView( ),这个方法返回一个view对象。还为这个类声明创建了一个布局文件(fragment.xml)。并添加了一个TextView和Button,通过 inflate.infalte()将布局文件添加在到这个MyFragment中。–>回到MainActivity2通过setContextView()将main2.xml加载。
最后回到MainActivity.java为第一个RadioButton添加点击事件(通过intent意图,跳转到MainActivity2)
MainActivity2 中直接通过 findViewById(); 将 fragment.xml 文件中的Button 加载,这是因为通过层层加载,这个 button 已经在于 main2.xml 中了。
最后在清单文件中添加 MainActivity2 ,并在 main2.xml 中为 Fragment 标签添加一个 id 或 tag
- 【UI模块】Fragment之一(创建和调用)
- 【UI模块】Fragment之二(周期和通信)
- nao机器人视觉模块创建和调用
- 使用Fragment创建动态UI
- Training--使用Fragment创建动态UI(1)-- 创建一个Fragment
- 利用Fragment创建动态UI 之 创建一个Fragment
- Training--使用Fragment创建动态UI(3)-- 与其他Fragment通信
- Android学习路线(二十一)运用Fragment构建动态UI——创建一个Fragment
- Training--使用Fragment创建动态UI(2)--构建一个灵活的UI
- Training--使用Fragment创建动态UI
- Fragment --- 用Fagment创建动态UI
- [Android] 使用Fragment创建动态UI
- 利用Fragment创建动态UI 之 Fragment之间的通信
- 使用Fragment创建一个动态UI - 与其他Fragment通信
- 封装UI和代码利器—Fragment(三)
- Activity和Fragment的五种交互方式(Activity可以改变Fragment的UI,Fragment也可以改变ActivityUI)
- Android---(4),Fragment的创建和使用,intent调用内置应用。
- fragment的创建和通信
- Linux CentOS 7 安装confluence 5.8.10
- 图片服务器的意义
- coffee-script运行环境
- DOM 节点查询
- Android 自定义可自动扩大缩小的ViewPager
- 【UI模块】Fragment之一(创建和调用)
- Tomcat服务器下部署项目几种方式
- linux kill %1 是什么意思
- spring注解配置原理浅析
- [我在学Android]认清Android框架 MVC,MVP和MVVM
- Apache虚拟主机的配置
- linux下运行jar
- 【对比】市场上自助建站系统哪个好?
- 设计模式GOF23——命令模式