关于Fragment的基本概念,贴上大神对官方文档的翻译 android Fragments (Android官方文档中文版) 感谢分享!
看过官方文档,对Fragment的基本使用应该有所了解,下面简单总结下使用方法:
一个最简单的Fragment使用,需要继承自Fragment类,并实现至少3个方法:
onCreate()
在创建Fragment的时候调用这个方法,这里初始化相关的组件,跟Activity 中的onCreate相似。onCreateView()
当第一次绘制Fragment的UI时系统调用这个方法,返回一个View,如果
Fragment不提供UI也可以返回null。onPause()
当用户离开Fragment时调用这个方法,需要提交一些变化,因为用户可能不再返回来。
所有的Fragment不能单独的存在,只能在Activity中显示,当Fragment被加入Activity中,它会处在对应的View Group中。
Fragment有两种加载方式:
一是在Activity的layout中使用标签< fragment >声明;
二是在代码中把它加入到一个指定的ViewGroup中;
**
下面是通过第一种方式使用Fragment
**
首先,创建Fragment类,并创建其对应的布局文件,在Fragment的onCreateView()方法中绑定视图View,如下,我创建了两个Fragment,这里是贴出其中Fragment_01.java和其对应布局文件fragment_01.xml的代码:
Fragment_01.java
package com.example.fragmenttest;
import android.os.Bundle;
import android.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/*
*
* 这是一个最简单的Fragment,其中重写了必须要的onCreate()方法,onCreateView()方法和onPause()方法
*/
public class Fragment_01 extends Fragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// 这里返回了绑定的布局视图文件
return inflater.inflate(R.layout.fragment_01, container, false);
}
@Override
public void onPause() {
super.onPause();
}
}
fragment_01.xml:其中就是一个简单的TextView
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="this is fragment_01"
android:textSize="28sp" />
</LinearLayout>
未完待续