(原创)Fragment详解(上)
来源:互联网 发布:会计报表软件 编辑:程序博客网 时间:2024/06/08 18:17
Android引入了Fragment机制后,页面设计变得更加灵活了,同时也让开发变得更加快捷方便。那么现在就来了解下什么是Fragment
Fragment,英译为碎片的意思,顾名思义,他是一个可以放置在Activity上的控件,同时他也可以在自己上面放置控件。我们可以简单地把他理解成一个轻量级的Activity。这样一来我们就大概明白了fragment的作用了。
那么怎么使用呢?
首先,你需要自定义一个类去继承Fragment,就好像你去定义一个Activity一样。
这里要注意,Fragment类分为V4包下的和App包下的。V4包是兼容以前版本的,建议使用。而我们Activity可以直接去继承AppCompatActivity,因为AppCompatActivity是兼容FragmentManager的,这个后面再讲。
当我们自定义的Fragment实现类去继承了Fragment父类的时候,可以重写以下三个方法
onCreateView:创建布局文件的
@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.footer_refresh, container, false); return view;}
onViewCreate:紧跟onCreateView后面执行
/** * 该方法紧跟onCreateView之后执行 * @param view * @param savedInstanceState */@Overridepublic void onViewCreated(View view, @Nullable Bundle savedInstanceState) {}
onActivityCreate:Fragment所在的Activity创建后调用这个方法
@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState);}
另外还可以通过getActivity()方法得到fragment所在的Activity
对于Fragment,我们最后做这样的总结:他是放置在Activity上的一层控件,但同时他又可以基于自身所在Activity去实现自己的布局,Android中的其他控件都可以放在Fragment的布局里。如果说Activity是国家的话,Fragment就是一座城市。当然,Fragment自身也可以包含Fragment。实现Fragment的多重嵌套。
下面介绍Fragment的静态实现:
Fragment类创建好之后,你需要在Activity中去添加一个fragment控件标签
设置好name属性,这个name就是你自己定义的fragment的名称
类似下面这样。这时候Activity就会显示你添加的Fragment来了
<fragment android:id="@+id/myfragment" android:name="fragment.Indexfragment" android:layout_width="match_parent" android:layout_height="match_parent" />
不过这种方式使用的比较少,使用最多的还是动态加载Fragment
这就需要用到Fragment相关的另一个类FragmentManager了
我们下篇再讲。
- (原创)Fragment详解(上)
- fragment详解(上)
- Fragment详解(上)
- (原创)Fragment详解(中)
- (原创)Fragment详解(下)
- android fragment带实例详解(上)
- Android-->Fragment生命周期详解(上)
- 简述fragment(上)
- Fragment 碎片 (上)
- Android Fragment (上)
- Fragment用法(上)
- Fragment (官方详解)
- 详解Fragment(一)
- Fragment详解(1)
- Fragment详解(2)
- fragment详解(下)
- fragment 详解(下)
- 【Fragment】 Android Fragment生命周期详解(图文)
- 读要闻 | 又挥美元大棒!但连普京都吓不倒的美国财长能吓倒中国?
- mybatis foreach语句属性详解
- 前端开发常见的英语词汇
- 数据库设计要点
- iPhone X下界面满屏展示
- (原创)Fragment详解(上)
- mybatis模糊查询
- ProGuard 又搞了个大新闻
- vue的一些认识(未完成)
- 二叉树的镜像
- 如何在mtk andorid6.0上添加一个I2C驱动(这里是添加一个FM 芯片驱动)
- Java最佳线程数
- 一对多映射(省份--城市)
- 冒泡排序的实现方法(Java)