Android Fragment 基本介绍
2014-11-13 09:46
351 查看
Fragment
Android是在Android 3.0 (API level 11)开始引入Fragment的。可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。
可以把Fragment设计成可以在多个Activity中复用的模块。
当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验。
如图:
<?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:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/num1" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/num2" /> </LinearLayout>
主Activity:
package com.example.learningfragment; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; public class LearnFragment extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_learn_fragment); //在程序中加入Fragment FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); ExampleFragment fragment = new ExampleFragment(); fragmentTransaction.add(R.id.linear, fragment); fragmentTransaction.commit(); } }
Activity的布局文件:
<LinearLayout 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:orientation="vertical" > <Button android:id="@+id/btn1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn1" /> <fragment android:name="com.example.learningfragment.ExampleFragment" android:id="@+id/fragment1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/btn2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn2" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linear" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <Button android:id="@+id/btn3" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btn3" /> </LinearLayout> </LinearLayout>
运行结果如下:
可以看到第二种方式加入fragment的时候,指定了父容器(一个线性布局)的id,其中已经有一个Button 3,所以fragment加在其后。
参考资源
Fragment类文档:http://developer.android.com/reference/android/app/Fragment.html
Training:Building a Dynamic UI with Fragments
http://developer.android.com/training/basics/fragments/index.html
Fragments Develop Guide:
http://developer.android.com/guide/components/fragments.html
相关文章推荐
- android的fragment基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍和使用
- 【fragment】Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本了解(图文介绍)
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍
- Android Fragment 基本介绍