第八次作业--Fragment

醉酒当歌 提交于 2020-03-24 19:31:46

Fragment是什么?

  Fragment (碎片)是一种嵌入在Activity中的UI片段,它可以用来描述Activity中的一部分布局。如果Activity 界面布局中的控件比较多比较复杂,那么Activity管理起来就很麻烦,我们可以使用Fragment把屏幕划分成几个片段,进行模块化的管理,从而使程序更加合理和充分地利用屏幕的空间。

Fragment为什么会出现?

   随着移动设备的迅速发展,不仅手机成为人们生活中的必需品,就连平板电脑也交得,光明普及。平板电脑与手机最大的差别就在于屏格的大小,屏幕大小的差距可能会使同样的界面在不同的设备上显示出不同的效果,为了 能够同时兼顾到手机和平板电脑的开发。

如何创建Fragment?

ublic class NewListFragment extends Fragment {
    public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle saveInstanceState) {
        View v= inflater.inflate(R.layout.fragment, container, false);
        return v;
        
        
    }

}

 

如何在Activity中添加Fragment?

方式一:1.在布局文件中添加Fragment

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.fargment.MainActivity" >

     
    <fragment 
        android:name="com.example.NewListFargment"
        android:id="@+id/newlist"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

    

</RelativeLayout>

方式二:在Activity中动态加载Fragment



protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//在Actvivity中动态添加Fragment
/*步骤:A:创建一个Fragment的实例对象
B:获取FragmentManager(Fragment管理器)的实例
C:开启FragmentTransaction(事务)
D:向Activity的布局容器(一般为FrameLayout)中添加Fragment
E:通过commit()方法提交事务
*/
//代码如下:
NewListFragment fragment=new NewListFragment();//实例化Fragment对象
FragmentManager fm= getFragmentManager();//获取FragmentManager的实例
//获取FragmentTransaction实例
FragmentTransaction bgt=fm.beginTransaction();
//bgt.replace(这里写第一个参数表示Actvity布局中的ViewGroup资源id, fragment);
//bgt.commit();

 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!