您的位置:首页 > 移动开发 > Android开发

Android入门--Fragment使用总结

2015-04-30 16:50 281 查看
关于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

[code]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

[code]<?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>


未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: