我是靠谱客的博主 苹果衬衫,最近开发中收集的这篇文章主要介绍安卓之Fragment详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

两种创建Fragment的方式:

1.在layout中添加<Fragment/>

2.在Activity中动态添加。

在layout中添加<Fragment/>:

在activity_main.xml中添加一个fragment:

<span style="font-family:Microsoft YaHei;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <fragment android:name="com.example.fragmenttest.MyFragment"
        android:id="@+id/fragment"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_below="@id/fragment">
     <Button
        android:id="@+id/btn3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="btn3"      
        />
     </LinearLayout>

</RelativeLayout>
</span>


有几点需要注意:

fragment android:name="com.example.fragmenttest.MyFragment"是我们自己建的MyFragment类。

创建一个Fragment和创建一个Activity很类似,继承Fragment类,重写生命周期方法,主要的不同之处就是需要重写一个onCreateView()方法来返回这个Fragment的布局。

<span style="font-family:Microsoft YaHei;">package com.example.fragmenttest;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class MyFragment extends android.support.v4.app.Fragment{

@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
System.out.println("ExampleFragment--onCreateView");
        <span style="white-space:pre"></span>return inflater.inflate(R.layout.example_fragment_layout, container, false);

}

@Override
public void onPause() {
// TODO Auto-generated method stub
super.onPause();
}

@Override
public void onResume() {
// TODO Auto-generated method stub
super.onResume();
}

@Override
public void onStop() {
// TODO Auto-generated method stub
super.onStop();
}

}</span>

在Activity中动态生成Fragment:

需要注意几点:

1.生成fragment的这个Activity要继承FragmentActivity

2.引入:import android.support.v4这个包里面的内容

3.必须用容器包含fragment

代码如下:

<span style="font-family:Microsoft YaHei;">package com.example.fragmenttest;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.Menu;

public class MainActivity extends FragmentActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//在程序中加入Fragment
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        
        MyFragment fragment = new MyFragment();
        fragmentTransaction.add(R.id.linear, fragment);
        fragmentTransaction.commit();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}</span>

最后

以上就是苹果衬衫为你收集整理的安卓之Fragment详解的全部内容,希望文章能够帮你解决安卓之Fragment详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部