fragment(1、基础)

android在3.0版本后引入了fragment,主要是为了针对手机和平台实现更加灵活的界面实现,例如在在手机端需要两个activity展示的界面,在pad端只需要一屏,那么将这两个activity所承载的内容涉及为两个fragment,并由activity控制则会灵活的多。同时,fragment之间的切换也会比activity之间具备更好的性能。

fragment的生命周期是依赖于activity的,它并不可以独立出现,在activity的oncreate方法调用后,才会调用其自身的onCreate,onCreateView等。

下文给出一个fragment静态实现的例子:

  • 定义一个fragment类:
public class Demo1Fragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        return inflater.inflate(R.layout.fragment_demo1, container, false);
    }
}
  • 为该fragment定义一个layout文件,同activity;
  • 在activity的layout中引用该fragment,如自定义控件;
<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:id="@+id/fragment1"
        android:name="com.example.fragment01.Demo1Fragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="72dp" />

    <fragment
        android:id="@+id/fragment2"
        android:name="com.example.fragment01.Demo1Fragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/fragment1"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="102dp" />

</RelativeLayout>
  • activity必须继承FragmentActivity
public class MainActivity extends FragmentActivity {

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

运行后,上述两个fragment会在activity启动时被创建。

时间: 2024-10-12 09:26:29

fragment(1、基础)的相关文章

Fragment学习基础

Fragment的设计哲学: Fragment是从 Android 3.0开始引入的,主要用于大屏幕设备,如平板电脑. 以一个新闻应用在小屏和大屏设备上的设计来阐述Fragment的设计哲学. 对于小屏的手机设备,应该设计为新闻标题列表单独作为一个页面,点击新闻标题进入新闻详细内容页面.如下图所示: 上图就是两个Activity. 对于大屏的平板设备,应该设计为屏幕的左边是一个新闻标题列表,屏幕的右边部分可以用来显示新闻详细内容,点击左边的新闻标题,在右边显示对应的新闻内容.如下图所示: 对于这

Fragment最基础的方法

fragment 是一个控件,却拥有像activity一样的生命周期 需要一个总的fragmentActivity来进行控制全部的fragment的使用,在这个activity的布局文件中要有一个framelayout的控件容器,来容纳fragment fragment 有个oncrateview来生成fragment所需的布局文件,用的是inflater.inflate(R.layout...,container,false); 在fragmentactivity中用new 一个相应的frag

android基础----&gt;Fragment的使用

碎片(Fragment)是一种可以嵌入在活动当中的UI 片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常广泛. Fragment的基础例子 一.增加Fragment,another_right_fragment.xml文件: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"

Android Fragment使用(一) 基础篇 温故知新

Fragment使用的基本知识点总结, 包括Fragment的添加, 参数传递和通信, 生命周期和各种操作. Fragment使用基础 Fragment添加 方法一: 布局里的标签 标识符: tag, id, 如果都没有, container的id将会被使用. 方法二: 动态添加 动态添加利用了一个transaction: FragmentManager fragmentManager = getFragmentManager(); Fragment fragment = fragmentMan

Android之fragment生命周期解析

上篇讲到了Fragment的基础应用,现在给大家演示一下Fragment的生命周期是什么样子的.关于Fragemnt的基础应用,请见http://blog.csdn.net/jiapeng2b/article/details/46919859. 一.首先,我们先看一下Fragment的生命周期 跟Activity生命周期的对比 Activity直接影响它所包含的fragment的生命周期,所以对activity的某个生命周期方法的调用也会产生对fragment相同方法的调用.例如:当activi

Android高级编程笔记(七)两个Fragment简单跳转示例

在前两篇博文中分别介绍了Fragment得基础和Fragment的生命周期,然而说了这么多Fragment到底怎么用呢以及我们为什么要使用Fragment?本篇博文将主要探讨这两个问题,首先说下在APP中有这好好Activity,跳转起来有那么简单,我们为什么还要使用Fragment呢?这是因为Fragment相对Activity而言更加的轻量级,使用起来也更加灵活,在一个程序的内部界面切换,尽可能的用Fragment代替Activity会让我们的APP运行起来更加的流畅,更加的高效,同时也提高

【Android UI设计与开发】4.底部菜单栏(一)Fragment介绍和简单实现

TabActivity在Android4.0以后已经被完全弃用,取而代之的是Fragment.Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Activity十分的相似.以下内容适用于3.0及以上的版本,3.0以下就不再赘述. 官方文档地址:http://developer.android.com/reference/android/support/v4/app/Fragment.html 一.Fragment的基础知识介绍 1.Fragment

Android碎片Fragment总结

一.Fragment的相关概念 (一)Fragment的基础知识 Fragment是Android3.0新增的概念,中文意思是碎片,它与Activity十分相似,用来在一个 Activity中描述一些行为或一部分用户界面.使用多个Fragment可以在一个单独的Activity中建 立多个UI面板,也可以在多个Activity中使用Fragment. Fragment拥有自己的生命 周期和接收.处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了.更为 重要的是,你可以动态的

Android UI编程(7)——Fragment

Fragment是Activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个Activity中来创建一个多面界面并且可以在多个Activity中重用一个Fragment.也可以把Fragment认为模块化的一段Activity,它具有自己的生命周期,接收它自己的事件,并可以在Activity运行时被添加或删除. Fragment不能独立存在,它必须嵌入到activity中,而且Fragment的生命周期直接受所在的Activity的影响.例如:当Activity暂停时,

ViewPage+Fragment的使用用法

一.概述 从前面几篇文章,我们知道,实现ViewPager是要有适配器的,我们前面用的适配器是PagerAdapter,而对于fragment,它所使用的适配器是:FragmentPagerAdapter.先看看官方对于这个类的解释:(英文下面有中文解释) 原文: Class Overview Implementation of PagerAdapter that represents each page as a Fragment that is persistently kept in th