Android中利用Fragment显示为两屏 上两篇文章中是通过ViewPager的适配器FragmentPagerAdapter, FragmentStatePagerAdapter 来使用Fragment的,我们也可以直接在Activity中使用Fragment,Android SDK v4+ Support 中为我们提供了FragmentActivity 来对Fragment进行管理,使用Fragment时需要明白的一点是,Fragment的布局文件(不管是静态布局文件还是动态创建)会被加入到容纳它的View容器中 ,还记得上一篇中动态创建Fragment时怎么创建一个返回的View吗,其中的LayoutInflater的inflate()方法就是实现了这点~ [java] view plaincopyprint? 01. @Override 02. public View onCreateView(LayoutInflater inflater, ViewGroup container, 03. Bundle savedInstanceState) { 小学教师实习报告 04. 05. Log. i( "INFO", "onCreateView : " + (currentPageNum + 1)); 06. 07. ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.per_pager1 , 08. container, false ); 09. 10. switch (currentPageNum ) { 11. case 0: 12. rootView.setBackgroundResource(R.drawable. page1_bg ); 13. break ; 14. case 1: 15. rootView.setBackgroundResource(R.drawable. page2_bg ); 16. break ; 17. case 2: 18. rootView.setBackgroundResource(R.drawable. page3_bg ); 19. break ; 20. default : 21. break ; 22. } 23. 24. return rootView; 25. 26.} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log. i( "INFO", "onCreateView : " + (currentPageNum + 1)); ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.per_pager1 , container, false );
switch (currentPageNum ) { case 0: rootView.setBackgroundResource(R.drawable. page1_bg ); break ; case 1: rootView.setBackgroundResource(R.drawable. page2_bg ); break ; case 2: rootView.setBackgroundResource(R.drawable. page3_bg ); break ; default : break ; }
return rootView;
}
在这一篇中通过配置文件来创建Fragment,这样可能会更方便和直观
Google官方提供的这个例子中用到了ListFragment ,你可以把它看成是一个列表Fragment,它在内部内置了一个ListView,并对它进行了有效的管理,非常的方便和实用,它是继承于Fragment
在配置文件中配置Fragment时,注意要指定Fragment的类全名,Android系统在运行时是根据这个来构建Fragment实例 [html] view plaincopyprint? 01.< LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" 02. android:orientation= "horizontal" 03. android:layout_width= "match_parent" 04. android:layout_height= "match_parent" > 05. 06. <fragment android:name= "com.example.android.fragments.HeadlinesFragment" 07. android:id ="@+id/headlines_fragment" 08. android:layout_weight ="1" 09. android:layout_width ="0dp" 10. android:layout_height ="match_parent" /> 11. 12. <fragment android:name= "com.example.android.fragments.ArticleFragment" 13. android:id ="@+id/article_fragment" 14. android:layout_weight ="2"
[1] [2] 下一页
|