关于android Fragment学习(入门篇)
2012-10-09 18:50
573 查看
这个的教程网上很多,对着SDK。有道,拣了一些好的博客琢磨了很久
关于这个类,类似的之前还有TabActivity,和ActivityGroup这两个,虽然android系统还支持使用,但是google在它的文档中明确支持不建议使用
Tab不用说,除了主页上的几个Activity外,t跳转后的其他页面返回限制很大,ActivityGroup还凑合着能用,不过估计效率啥的也不高于是被淘汰了.
Google推荐使用FragMents
SDK上说了支持3.0以上版本,看着看着发现自己手机才2.3.5,不过android提供了一种解决方式-Compatibility Package,通过它可以实现低版本的sdk使用高版本的一些特性,于是我使用了android-support-v4.jar,位于android-sdk-windows\extras\android\compatibility\v4下,这样就可以方便地使用FragMent
关于Fragment,简单地谈一下我的认识,首先他是 Activity的一部分,周期和的Activity同步, 我们可以这样理解
每一个Activity对应一个Layout,这个Layout很大(假定它叫做Layout_A),我们把一部分布局放在另一个Layout的XML中(假定这个是Layout_B),然后在 Layout_A中,将原先 Layout_B的存在位置处定义一个fragment
像这样,到这里,很多人可能会惊讶,那么这个fragment对应的layout要怎么找呢?????不急
大家可以看到,我在fragment中加了一个属性,android:name="sll.fragme.myFragments",这个是一个指明了包的类名。在这个类里我指明了上面的Layout_B
接下来需要重写以下函数(主要是第一个参数,其他若无特殊需求可以照搬)
然后在那个需要嵌入Fragment的大的Activity中 加入以下函数(如果低版本中使用包,这个activity必须继承FragmentActivity||在3.0以上时,继承Activity也可以)
注:3.0的版本,第一句右边应该是 getFragmentManager()
关于这个类,类似的之前还有TabActivity,和ActivityGroup这两个,虽然android系统还支持使用,但是google在它的文档中明确支持不建议使用
Tab不用说,除了主页上的几个Activity外,t跳转后的其他页面返回限制很大,ActivityGroup还凑合着能用,不过估计效率啥的也不高于是被淘汰了.
Google推荐使用FragMents
SDK上说了支持3.0以上版本,看着看着发现自己手机才2.3.5,不过android提供了一种解决方式-Compatibility Package,通过它可以实现低版本的sdk使用高版本的一些特性,于是我使用了android-support-v4.jar,位于android-sdk-windows\extras\android\compatibility\v4下,这样就可以方便地使用FragMent
关于Fragment,简单地谈一下我的认识,首先他是 Activity的一部分,周期和的Activity同步, 我们可以这样理解
每一个Activity对应一个Layout,这个Layout很大(假定它叫做Layout_A),我们把一部分布局放在另一个Layout的XML中(假定这个是Layout_B),然后在 Layout_A中,将原先 Layout_B的存在位置处定义一个fragment
像这样,到这里,很多人可能会惊讶,那么这个fragment对应的layout要怎么找呢?????不急
大家可以看到,我在fragment中加了一个属性,android:name="sll.fragme.myFragments",这个是一个指明了包的类名。在这个类里我指明了上面的Layout_B
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <fragment android:name="sll.fragme.myFragments" android:id="@+id/fragment_myfragment" android:layout_weight="1" android:layout_width="fill_parent" android:layout_height="match_parent" /> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" /> </LinearLayout>然后我们要添加一个类,类名和上面的对应,但是要继承Fragment
接下来需要重写以下函数(主要是第一个参数,其他若无特殊需求可以照搬)
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // TODO Auto-generated method stub return inflater.inflate(R.layout.main_top, container,false); }
然后在那个需要嵌入Fragment的大的Activity中 加入以下函数(如果低版本中使用包,这个activity必须继承FragmentActivity||在3.0以上时,继承Activity也可以)
FragmentManager fragmentManager=getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); myFragments myf=new myFragments(); fragmentTransaction.add(R.id.fragment_myfragment, myf); fragmentTransaction.commit()
注:3.0的版本,第一句右边应该是 getFragmentManager()
相关文章推荐
- Android学习小Demo(20)关于Fragment的应用
- Android应用开发中使用Fragment的入门学习教程
- Android Fragment完全解析,关于碎片你所需知道的一切,Fragment入门(一)
- Android开发学习笔记(三):关于fragment_main.xml、activity_main.xml与主函数之间的关系
- Android app开发中的Fragment入门学习教程
- Android中关于JNI 的学习(零)简单的例子,简单地入门
- Android学习小Demo(20)关于Fragment的应用
- Android中关于JNI 的学习(零)简单的例子,简单地入门
- [Android学习系列9]关于Fragment的一些事
- Android学习小Demo(17)关于ViewPager和Fragment的使用
- Android中关于JNI 的学习(零)简单的样例,简单地入门
- [Android] 关于Fragment 和 TabHost的学习笔记
- 关于进行java学习和Android开发,本人认为的一些基础的入门必需知识,全程手敲
- 跟随大神的脚步学习之Fragment:Android Fragment完全解析,关于碎片你所需知道的一切
- Android开发学习之路-- 关于服务Service
- Android基础入门教程——5.1 Fragment基本概述
- 《第一行代码》学习笔记--Android入门(一、二、三)
- 关于Android Task的学习
- Android入门——Fragment详解之Fragment与Activity通信及数据交换(二)
- 关于Java的入门学习方案