概述
碎片是一种可以嵌入在活动当中的UI片段,他能让程序更加合理和充分地利用大屏幕空间,因而在
平板上应用的很广泛。动态的添加碎片主要分为五步:1.创建待添加的碎片实例2.获取FragmentManager,在活动中可以直接通过调用getSupportFragmentMessager()方法得到。3.开启一个事务,通 碎片是一种可以嵌入在活动当中的UI片段,他能让程序更加合理和充分地利用大屏幕空间,因而在平板上应用的很广泛。动态的添加碎片主要分为五步:1.创建待添加的碎片实例2.获取FragmentManager,在活动中可以直接通过调用getSupportFragmentMessager()方法得到。3.开启一个事务,通过调用beginTransaction()方法开启4.向容器内添加或替换碎片,一般使用replace()方法实现,需要传入容器的ID和待添加的碎片实例。5.提交事务,调用commit()方法完成。addToBackStack() 方法,可以接收一个名字用于描述返回栈的状态,一般传入null即可。为了方便碎片和活动之间进行通信,FragmentManager提供了一个类似与findVIEwByID()方法,专门从布局文件中获取碎片的实例,代码如下:RightFragment rightFragment=(RightFragment) getSupportFragmentManager().findFragmentByID(R.ID.right_fragment);调用FragmentManager的findFragemntByID()方法,可以在活动中得到响应碎片实例,可以轻松调用碎片里的方法了。每个碎片中都可以通过调用getActivity()方法得到和当前碎片相关连的活动实例MainActivity activity=(MainActivity) getActivity();若当碎片中需要使用Context对象时,也可以使用getActivity()方法,因为获取到的活动本省就是一个Context对象。碎片与碎片之间的通信首先在一个碎片中可以得到与相关联的活动,然后再通过再这个活动去获取另一个碎片的实例,即可实现不同碎片之间的通信。碎片的生命周期状态:1.运行状态:当一个碎片是可见的,并且它所关联的活动正处于允许状态时,碎片也处于运行状态。2.暂停状态:当一个活动进入暂停状态时(由于另一个未沾满屏幕的活动被添加到栈顶),与他相关联的可见碎片就会进入到暂停状态。3.停止状态:当一个活动进入停止状态时,与他下个关联的碎片就会进入到停止状态或者通过调用FragmentTransaction的remove(),replace()方法将碎片从活动中移除,但如果再事务提交之前调用addToBackStack()方法,这时的碎片也会进入到停止状态。总的来说,进入停止状态的碎片对用户来说是完全不可见的,有可能会被系统回收。4.销毁状态:碎片是依附于活动而存在的,因此当活动被销毁时,与他先关联的碎片就进入到了销毁状态,或者通过调用FragmentTransaction的remove(),replace()方法将碎片从活动中移除,但在事务提交之前并没有调用addToBackStack()方法,这时的碎片也进入到了销毁状态。回调:onAttach()当碎片和活动建立关联的时候调用onCreateVIEw()当碎片创建视图时调用。onActivityCreated()确保于碎片相关联的活动一定已经创建完毕的时候调用。onDestroyVIEw()当与碎片关联的视图被移除的时候调用。onDetach()当碎片和活动解除关联的时候调用。AndroID中一些常见的限定符:1.大小 small:提供给小屏幕设备的资源normal:提供给中等设备屏幕的资源large:提供给大屏幕设备的资源xlarge:提供给超大屏幕设备的资源2.分辨率ldpi提供给低分辨率设备的资源(120dpi以下)mdpi提供给中等分辨率设备的资源(120dpi---160dpi)hdpi提供给高分辨率设备的资源(160--240)xhdpi提供给超高设备的资源(240--320)xxhdpi提供给超超高设备的资源(320--480)3.方向land提供给横屏设备的资源port提供给竖屏设备的资源 总结
以上是内存溢出为你收集整理的android中碎片 -手机平板兼顾全部内容,希望文章能够帮你解决android中碎片 -手机平板兼顾所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)