当前位置: 首页 > news >正文

视频制作软件排行榜前十名进一步优化

视频制作软件排行榜前十名,进一步优化,境外电商平台有哪些,如何建立一个微信公众号平台一、Fragment简介 屏幕大小的差距可能会使同样的界面在不同设备上显示出不同的效果,为了能同时兼顾到手机和平板电脑的开发,从Android3.0版本开始提供了Fragment。 Fragment(碎片)是一种嵌入在Activity中的UI片段,它…

一、Fragment简介

屏幕大小的差距可能会使同样的界面在不同设备上显示出不同的效果,为了能同时兼顾到手机和平板电脑的开发,从Android3.0版本开始提供了Fragment。

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

一个Activity中可以包含多个Fragment,一个Fragment也可以在多个Activity中使用,如果在Activity中有多个相同的业务模块,则可以复用Fragment。

Fragment具有节省资源的优势。

二、Fragment的生命周期

Activity生命周期有5种状态,分别是启动状态、运行状态、暂停状态、停止状态销毁状态。因为Fragment是被嵌入Activity中使用,所以它的生命周期的状态直接受其所属Activity的生命周期状态影响。当在Activity中创建Fragment时,Fragment处于启动状态;当Activity被暂停时,其中的所有Fragment也被暂停;当Activity被销毁时,其中的所有Fragment也被销毁。当Activity处于运行状态时,可以单独地对每一个Fragment进行操作,如添加或删除,当进行添加操作时,Fragment处于启动状态;当进行删除操作时,Fragment处于销毁状态。

添加Fragment -> onAttach() Fragment和Activity建立关联时调用 -> onCreate() -> onCreateView() Fragment创建视图(加载布局)时调用 -> onActivityCreated() Fragment相关联的Activity已经创建完成时调用 -> onStart() -> onResume() -> 用户点击返回键或Fragment被移除或替换 / 当Fragment被添加到返回栈,然后被移除或替换 -> onPause() -> onStop() -> onDestoryView() Fragment关联的视图被移除时调用 -> onDestory() -> onDetach() Fragment和Activity解除关联时调用 -> Fragment被销毁

三、创建Fragment

public class MyFragment extends Fragment {public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {//如果有传入参数//Bundle bundle=getArguments();// 在此处通过 inflater 来加载 Fragment 的布局// container 参数是父级视图(即在其中创建该 Fragment 的 ViewGroup)// savedInstanceState 参数包含了之前保存的状态,可用于恢复先前的状态View view=inflater.inflate(R.layout.myfragment_layout,container,false);//R.layout.myfragment_layout是MyFragment的XML布局文件return view;}
}

 getArgments()方法在有传入参数时使用。

第三个参数(Bundle savedInstanceState)包含了之前保存的状态,可用于恢复先前的状态。

四、在Activity中添加Fragment

1.在XML布局文件中静态添加Fragment

在Activity引用的布局文件中添加Fragment时,需要使用<fragment></fragment>标签,该标签与其他控件的标签类似,但必须指定 android:name 属性,其属性值为Fragment的全路径名称

例.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><fragmentandroid:name="com.example.myTest.MyFragment"android:id="@+id/myFragment"android:layout_width="match_parent"android:layout_height="match_parent"/></RelativeLayout>

2.Activity中动态加载Fragment

当Activity运行时,也可以将Fragment动态添加到Activity中:

(1) 创建Fragment的对象

(2) 获取Fragment管理器(FragmentManager)的实例

(3) 开启FragmentTransaction(事务)

(4) 向Activity布局容器(一般为FrameLayout)中添加Fragment对象

(5) 通过commit()方法提交事务

//创建碎片实例
MyFragment myFragment=new MyFragment();//获取碎片管理器
FragmentManager fragmentManager=getFragmentManager();//开始事务
FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction();//添加Fragment对象: 第一个参数为布局容器资源id,要添加的Fragment对象
fragmentTransaction .replace( R.id.frameLayout , myFragment );//提交事务
fragmentTransaction .commit();

四、Fragment中参数

Fragment传递进的参数或自定义变量,会在屏幕旋转时丢失。

可用 setArguments(Bundle b)getArguments()

setArguments(Bundle b) 需在 commit() 前使用。

//创建碎片实例
MyFragment myFragment=new MyFragment();//创建Bundle
Bundle bundle=new Bundle();//添加序列化信息及其他类型信息
bundle.putSerializable((Serializable)(MyActivity.this));
bundle.putInt("key",12345);//向碎片中添加参数(Bundle)
myFragment.putArguments(Bundle);//获取碎片管理器
FragmentManager fragmentManager=getFragmentManager();
//开始事务
FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction();
//添加Fragment对象: 第一个参数为布局容器资源id,要添加的Fragment对象
fragmentTransaction .replace( R.id.frameLayout , myFragment );
//提交事务
fragmentTransaction .commit();

五、推荐用法

不推荐使用 .replace() ,每次都会重新构建一次Fragment。

推荐使用 .add( R.id.relativeLayout , myFragment ) .hide( myFragment ) .show( myFragment )

http://www.yayakq.cn/news/623015/

相关文章:

  • 网站栏目优化php网站开发待遇
  • 毕业网站建设ppt朝阳做网站的公司
  • 彩票网站开发教程aspnet网站开发实战
  • 浦东新区专业做网站wordpress+经典推荐
  • 企业网站设计过程中必须重视的问题之一优秀网站作品
  • 遵义一般做一个网站需要多少钱公司的个人网站怎么做
  • 美容院网站制作怎样做淘宝客导购网站
  • 网站建设i rsky墨子学院seo
  • 松江品划网站建设开发dw网页制作模板教程
  • 网站建设一条龙源码服务器中安装wordpress
  • 凡科网做音乐网站wordpress 视频广告
  • 如何做网站的基础wordpress滑动解锁
  • 建设银行手机网站首页成都有什么好玩的吗
  • 现在收废品做哪个网站好榆林建设银行的网站
  • 网站建设 平易中国建设银行招聘信息网站
  • 做网站要学的教程建筑工程公司名字
  • 鹰潭市城乡建设局老网站湛江网站建设技术托管
  • 做企业网站设计与实现俄文网站建设 俄文网站设计
  • dw做网站怎么设置页面音乐全网营销推广怎么收费
  • 做电影网站有什么好处和坏处自媒体怎么入门
  • 网站做优化每天一定要更新公司宣传册排版
  • 厦门大型服装商城网站建设seo
  • 什么是网站结构优化国家骨干院校建设网站
  • 建个大型网站要多少钱文章类网站
  • 扬子市建设局网站厦门区块链网站开发
  • 铜山区建设局招投标网站城固网站建设
  • 单页网站仿制教程最新seo网站优化教程
  • 洛阳网站排名长寿网站建设
  • 列表网做优化网站怎么样都网站建设
  • 建设部网站撤销注册资质的都是公职人员吗网站排版怎么做的