Android之 Fragment
2014-08-23 13:02
155 查看
什么是Fragment:
Android是在Android 3.0 (API level 11)开始引入Fragment的。
可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。
可以把Fragment设计成可以在多个Activity中复用的模块。
当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验。
Fragment的意义:
Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计。平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互。Fragment允许这样的一种设计,而不需要你亲自来管理 viewhierarchy的复杂变化。 通过将activity的布局分散到fragment中, 你可以在运行时修改activity的外观,并在由activity管理的back stack中保存那些变化.
例如, 一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章--2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输入事件。 因此, 取代使用一个activity来选择一篇文章而另一个activity来阅读文章的方式,用户可以在同一个activity中选择一篇文章并且阅读, 如图所示:
View Code
最后,别忘了清单文件的配置:(内部Activity的注册)
新闻阅读Demo下载:http://download.csdn.net/detail/af74776/7806353
本文重点参考了的文章(基本上算是大汇总吧):/article/1391908.html
/article/4672815.html
/article/4843807.html
Android是在Android 3.0 (API level 11)开始引入Fragment的。
可以把Fragment想成Activity中的模块,这个模块有自己的布局,有自己的生命周期,单独处理自己的输入,在Activity运行的时候可以加载或者移除Fragment模块。
可以把Fragment设计成可以在多个Activity中复用的模块。
当开发的应用程序同时适用于平板电脑和手机时,可以利用Fragment实现灵活的布局,改善用户体验。
Fragment的意义:
Android在3.0中引入了fragments的概念,主要目的是用在大屏幕设备上--例如平板电脑上,支持更加动态和灵活的UI设计。平板电脑的屏幕要比手机的大得多,有更多的空间来放更多的UI组件,并且这些组件之间会产生更多的交互。Fragment允许这样的一种设计,而不需要你亲自来管理 viewhierarchy的复杂变化。 通过将activity的布局分散到fragment中, 你可以在运行时修改activity的外观,并在由activity管理的back stack中保存那些变化.
例如, 一个新闻应用可以在屏幕左侧使用一个fragment来展示一个文章的列表,然后在屏幕右侧使用另一个fragment来展示一篇文章--2个fragment并排显示在相同的一个activity中,并且每一个fragment拥有它自己的一套生命周期回调方法,并且处理它们自己的用户输入事件。 因此, 取代使用一个activity来选择一篇文章而另一个activity来阅读文章的方式,用户可以在同一个activity中选择一篇文章并且阅读, 如图所示:
package com.topcsa.test_fragment; import android.app.Activity; import android.app.ActionBar; import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.content.res.Configuration; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.os.Build; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public static class DetailActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); // 判断是否为横屏 if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { finish(); return; } if (savedInstanceState == null) { //在初始化时,插入一个显示详细内容的Fragment //实例化DetailFragment对象 DetailFragment detail = new DetailFragment(); //设置传递的参数 detail.setArguments(getIntent().getExtras()); //添加一个显示详细内容的Fragment getFragmentManager().beginTransaction() .add(android.R.id.content, detail).commit(); } } } }
View Code
最后,别忘了清单文件的配置:(内部Activity的注册)
<activity android:name="com.topcsa.test_fragment.MainActivity$DetailActivity" android:label="详细内容"></activity>
新闻阅读Demo下载:http://download.csdn.net/detail/af74776/7806353
本文重点参考了的文章(基本上算是大汇总吧):/article/1391908.html
/article/4672815.html
/article/4843807.html
相关文章推荐
- Android中的Fragment
- Android 去掉新版安卓fragment_main.xml
- Android UI开发第十七篇——Android Fragment实例
- Android Fragment学习笔记(二)
- android Fragments详解二:创建Fragment
- Android中Fragment的应用
- Android UI开发第十七篇——Android Fragment实例
- Android Fragment 生命周期介绍
- Android中Fragment的应用
- android学习手记第二章--Fragment 16 Mar,2011
- Android——Fragment介绍
- Android FragmentManage FragmentTransaction介绍
- Android FragmentManage FragmentTransaction介绍
- Android Fragment使用
- Android中Fragment的应用
- Fragment in Android3.0
- Android——Fragment介绍
- Android UI开发第十七篇——Android Fragment实例
- android Fragments详解二:创建Fragment
- android Fragments详解三:实现Fragment的界面