Fragment 入门
来源:互联网 发布:gre知乎 编辑:程序博客网 时间:2024/06/03 15:28
#Android3.0开始引入这个新特性。主要用于实现一个多任务的界面。
fragement是activity的子界面,是运行在activity里面的。# mainactivity 中的布局控件 使用帧布局
1
2
3
4
5
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:id=
"@+id/fl_container"
>
</FrameLayout>
# 注意:继承fragment 要求最低版本是11 也就是3.0 fragment刚开始是为平板准备的,现在用的也越来越多
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Fragment01 extends Fragment {
/**
* 初始化fragment的界面 加载fragment的布局文件,显示出来
* inflater 布局的填充器,是用来加载布局文件的
* container显示fragment的父级控件
* savedInstanceState baocunfragment的状态
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// return super.onCreateView(inflater, container, savedInstanceState);
// getActivity() 是得到fragment所运行在的activity对象
// resource fragment对应的布局文件资源ID
// root fragment界面显示的父级控件
View view = View.inflate(getActivity(), R.layout.f01,
null
);
// 返回view表示把view显示在当前的activity界面上,不返回就不显示
return
view;
}
}
#fragment 的显示步骤
步骤:1.创建一个fragment的类,继承了父类Fragment;2.创建fragment的布局文件;3.在代码中显示fragment的子界面; 1.在fragment的onCreateView方法中,加载布局文件,显示出来; 2.在activity中,创建fragment对象; 3.创建fragment管理器; 4.通过fragment管理器得到fragment事务; 5.调用发ragment事务的方法,显示fragment子界面; 6.提交fragment事务;代码:
12345678910注意:1.使用replace()方法是因为这里面界面相互替换,要是添加子界面就用add()方法 2.不同的业务要用不同的事务来提交,所以事务不能为成员变量 3.事务的作用:是为了保证一个界面里面显示的多个界面要么同时显示成功,要么同时显示失败
// 1.创建fragment01对象
f01 =
new
Fragment01();
// 2.得到系统的提供的fragmentManager
fm =
this
.getFragmentManager();
// 3.得到fragment的事务,他可以保证多个fragment要么同时显示成功,要么同时显示失败
FragmentTransaction transaction = fm.beginTransaction();
// 4.把f01的界面显示在activity中
transaction.replace(R.id.fl_container, f01);
// 5.提交fragment的事务,把界面显出来
transaction.commit();
#fragment 向下兼容问题
android-support-v4.jar:是为了让高版本的api能够向下兼容,v4就表示向下兼容到api级别为4的版本.修改的步骤:1.在Fragment类中,继承support-v4中的Fragment;2.在activity中,让activity继承support-v4中的FragmentActivity;3.在方法中,把所有与fragment相关api都是用support-v4中的api;
1
2
3
4
5
6
**1. android.support.v4.app.Fragment
**2. public class MainActivity extends FragmentActivity{}
****android.support.v4.app.FragmentActivity;
**3.android.support.v4.app.FragmentManager;
****
// 得到系统的提供的fragmentManager fm = this.getSupportFragmentManager();
android.support.v4.app.FragmentTransaction
0 0
- Fragment之一:Fragment入门
- Fragment之一:Fragment入门
- Fragment入门
- Fragment入门
- fragment入门
- Fragment 入门
- Fragment入门
- fragment入门
- fragment 使用篇--入门
- Android-Fragment入门用法
- fragment的入门DEMO
- Fragment的快速入门
- Android fragment入门一
- Android fragment入门二
- Android入门之Fragment
- android Fragment入门
- 【Android】Fragment入门
- android Fragment 入门介绍
- 抽象数据类型之容器(一)
- BSOJ4548:陌上花开 树状数组套平衡树(基础题)
- 【代码笔记】iOS-scrollerView里多个tableView加搜索框
- python中文编码问题(转自http://wolfmaster.iteye.com/blog/638029)
- C++异常
- Fragment 入门
- PIC18F45K80 CAN通讯示例代码
- MTK SPI总线简单介绍及驱动示例
- Android中scrollTo()和scrollBy()的区别以及Scroller源码解析
- 【Life】【锻炼】哪种锻炼方式最能让程序员远离亚健康
- Linux环境安装FTP服务Serv-U
- docker安装
- 软件测试实践之测试环境的规划与管理
- 【Some】【架构】架构师需要做什么?