• 第八次作业--Fragment


    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();

     
  • 相关阅读:
    Integer中计算int位数的方法
    Spark学习---常见的RDD转和行动操作
    Spark学习---RDD编程
    《教父》中的经典台词以及英文原版
    关于MATSIM中,如何关闭自动加载dtd的问题
    源发行版8需要目标发行版1.8
    关于Mysql中GROUP_CONCAT函数返回值长度的坑
    【转】通过xml处理sql语句时对小于号与大于号的处理转换
    XmlDocument根据节点的属性值获取节点
    【转】使用SevenZipSharp压缩、解压文件
  • 原文地址:https://www.cnblogs.com/XiaoPoHai-11/p/11728316.html
Copyright © 2020-2023  润新知