Android学习系列之(六)Fragment初涉

前言:前面几篇都是从Activity的使用慢慢拓伸得,这次依旧不例外。要将Activity当然不免要将一下Fragment了,Fragment使用十分广泛的,要想了解它,请往下看...

一、Fragment介绍:

  Fragment中文意思叫“碎片”,它和Activity一样都是用于界面的显示的,可以把它当作Activity的一个组成部分,相当于轻量级的 Activity。我们常常用Activity来进行视图的展示,但是Activity太多了,清单文件中的信息也会很多(因为每新建一个Activity都要在清单文件中进行注册)。然而当Fragment出现后(它是3.0之后才有的API),若是我们使用Fragment来辅助进行页面的显示工作的话,则不会有这个问题(因为Fragment是不需要在清单文件中进行注册的),而且使用Fragment可以充分的利用空间,比如我们常见的抽屉导航的效果。如:手机QQ的效果:

估计大家对这样的效果很是心动吧?是不是很想知道这样的效果是怎么完成的?那么再接下来Fragment系列的博文中我会以实现抽屉导航为例子,慢慢来告诉大家的大笑

二、Fragment的基本使用:(动态、静态)

案例一:演示Fragment的创建(动态添加Fragment)以及介绍其生命周期
  • 新建Android项目
  • 创建一个FragmentLife类,其代码如下:
public class FragmentLife extends Fragment{
	
	/**
	 * 在fragment与Activity关联之后调调查用
	 * 注:初始化Fragment参数可以从getArguments()获得,但当Fragment附加到Activity之后,就无法再调用setArguments()
	 */
	@Override
	public void onAttach(Activity activity) {
		super.onAttach(activity);
		System.out.println("onAttach...");
	}

	/**
	 * Fragment初次创建时调用
	 * 注:尽管它看起来像是Activity的OnCreate()函数,但这个只是用来创建Fragment的,此时的Activity还没有创建完成,
	 * 因Fragment也是Activity创建的一部分,因此所以如想在这里使用Activity中的一些资源,将会获取不到.比如:获取同
	 * 一个Activity中其它Frament的控件实例.如果想要获得Activity相关联的资源,必须在onActivityCreated中获取
	 */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		System.out.println("onCreate...");
	}
	
	/**
	 * Activity 获取 Fragment 返回的视图时调用:在这个Fragment构造它的用户接口视图(即布局)
	 */
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		System.out.println("onCreateView...");
		// container:可以为NULL,如果父窗口值为NULL,这意味着该Fragment不可见,因为它没有附加到任何的视图层次中
		// boolean attachToRoot:一般为FALSE,是否当前XML的根结点作为整个APP视图的根结点,设为TRUE,那返回的VIEW将是整个APP视图架构的根结点,一般不需要这么做
		return inflater.inflate(R.layout.fragment_life, container, false);
	}
	
	/**
	 * 在Activity的 onCreateView()结束后调用:此时Activity已经创建完成(视图也创建完毕),该函数中才可以使用Activity的所有资源
	 */
	@Ov
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值