Android学习笔记:(三)Fragment的使用
来源:互联网 发布:博纳文图拉数据 编辑:程序博客网 时间:2024/05/18 20:47
一、Fragment简介
1、fragment是一种控制器对象,activity可以委派它完成一些任务,通常这些任务就是管理用户界面。
2、
二、Fragment的使用
1、创建类继承Fragment
- 1、最好继承android.support.v4.app.Fragment中的Fragment,因为能兼容更多的adroid版本,android.app.Fragment中也有Fragment。
package com.example.simpletest;import android.os.Bundle;import android.support.v4.app.Fragment;public class MainFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //并没有生成视图 }}
- 2、生成Fragment中的视图,要在onCreateView这个生命周期创建视图。
/**MainFragment.java*/public class MainFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { //第一个参数传入layout资源ID,第二个参数指定父视图,第三个 //参数告知布局生成器是否将生成的视图添加给父视图 View v = inflater.inflate(R.layout.fragment_main, parent, false); return v; }}
- 3、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:id="@+id/text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /></LinearLayout>
2、创建托管此Fragment的activity
- 1、主视图xml中要创建FragmentLayout,相当于放一个占位符在主视图中,然后可以添加Fragment的视图到这个占位符的位置。
<!-- activity_main.xml --><?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_fragment" android:layout_width="match_parent" android:layout_height="match_parent" />
3、activity托管Fragment
- 1、要将Fragment添加到FragmentManager中
2、fragmentManager作用:
1)管理Fragment队列
2)Fragment事务回退栈3、
package com.example.simpletest;import android.os.Bundle;import android.support.v4.app.Fragment;import android.support.v4.app.FragmentActivity;import android.support.v4.app.FragmentManager;public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获得FragmentManager FragmentManager fm = getSupportFragmentManager(); //获得主视图中的Fragment,如果在FragmentManager中已经存在则获取,不存在就返回Null Fragment fragment = fm.findFragmentById(R.id.main_fragment); if(fragment == null) { //创建fragment fragment = new MainFragment(); //添加fragment到fragmentManager中,并commit //beginTransaction()创建并返回FragmentTransaction实例 //容器视图资源id R。id,mainFragment用处: //1.fragment在fragmentManager中的唯一标识符 //2.告知fragmentManager fragment视图应该出现在activity的什么位置 fm.beginTransaction().add(R.id.main_fragment, fragment).commit(); } }}
0 0
- Android学习笔记:(三)Fragment的使用
- android学习笔记之Fragment(三)
- Android学习笔记(三):碎片(Fragment)
- Android Fragment系列学习笔记之三
- Android Fragment的学习笔记
- Android 学习笔记(三):ListView的使用
- Android Fragment的使用 三 Fragment与Activity交互
- Android之Fragment学习(三)
- android 项目学习随笔三(Fragment )
- Android Fragment学习笔记
- android fragment学习笔记
- 学习笔记 android fragment
- android Fragment 学习笔记
- Android学习笔记 - fragment
- Android学习笔记 Fragment
- Android学习笔记十一.fragment(三) 之《兼容多分辨率的应用》实战
- android FragMent使用笔记
- android学习八(android碎片fragment的使用)
- Java的编译
- 相应分析的R包ca和mca,cca,RDA的R实现整理
- 蛮力法中提到很多类型的问题,典型蛮力算法的复杂性如下
- 正则表达式
- 络设备的IP地址结构
- Android学习笔记:(三)Fragment的使用
- makefile的学习使用
- ZigBee信道、PAN ID、收发器等的参数配置
- UESTC2015数据结构专题
- 开放api设计
- opengl绘制3D图形
- 数据结构---栈的顺序实现
- Linux添加磁盘,不关机识别!
- 【Objective-C学习笔记】内存管理——ARC自动引用计数