Fragment(碎片).docVIP

  • 3
  • 0
  • 约 17页
  • 2016-12-19 发布于贵州
  • 举报
Fragment(碎片) Fragment 碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用的非常广泛。 碎片是什么   想象我们正在开发一个新闻应用,其中一个界面使用ListView展示了一组新闻的标题,当点击了其中一个标题,就打开另一个界面显示新闻的详细内容。如果是在手机中设计,我们可以将新闻标题列表放在一个活动中,将新闻的详细内容放在另一个活动中,如图所示。 可是如果在平板上也这么设计,那么新闻标题列表将会被拉长至填充满整个平板的屏幕,而新闻的标题一般都不会太长,这样将会导致界面上有大量的空白区域,如图所示。 因此,更好的设计方案是将新闻标题列表界面和新闻详细内容界面分别放在两个碎片中,然后在同一个活动里引入这两个碎片,这样就可以将屏幕空间充分地利用起来了,如图所示。 Fragment的出现就是为了解决屏幕适配问题。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以完全有不同的Fragment组成,而且Fragment拥有自己的生命周期和接收、处理用户的事件,这样就不必在Activity写一堆控件的事件处理的代码了。更为重要的是,你可以动态的添加、替换和移除某个Fragment。 Fragment的简单使用 Fragment必须依附Activity的存在,通过Activity来加载Fragment 定义一个类继承Fragment import android.support.v4.app.Fragment; .... public class Fragment3 extends Fragment { @Nullable //重写onCreateView方法 @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { //通过打气筒加载Fragment的布局 View view = inflater.inflate(R.layout.fragment3,null); return view; } } 导入Fragment包的选择 support.v4.app.Fragment; import android.support.v4.app.Fragment; 1 1 Android.app.Fragment3.0之后才有的,支持的版本太高 选择v4包,是为了可以兼容到1.6的版本的手机,但会影响到获取FragmentManager方式的不同 而且非常非常重要的是包含Fragment的Activity必须继承FragmentActivity 否则你就等着报错吧 android.app.Fragment; import android.app.Fragment; 导入这个包则不需修改Activity Fragment3的布局文件 ?xml version=1.0 encoding=utf-8? LinearLayout xmlns:android=/apk/res/android android:layout_width=match_parent android:layout_height=match_parent android:background=#ffff00 TextView android:layout_width=match_parent android:layout_height=wrap_content android:text=我是Fragment3里面的内容 android:textSize=30dp android:textColor=#000000/ /LinearLayout activity的布局文件 ?xml version=1.0 encoding=utf-8? LinearLayout xmlns:android=/apk/res/android android:layout_width=match_parent android:layout_height=match_parent TextView android:layout_width=match_parent

文档评论(0)

1亿VIP精品文档

相关文档