无题
Android
无题
WindowManager
无题
Window机制Window的相关属性window一共可分为三类:● 应用程序窗口:应用程序窗口一般位于最底层,Z-Order在1-99● 子窗口:子窗口一般是显示在应用窗口之上,Z-Order在1000-1999● 系统级窗口:系统级窗口一般位于最顶层,不会被其他的window遮住,如Toast,Z-Order在2000-2999。如果要弹出自定义系统级窗口需要动态申请权限。Window的flags参数
无题
mediainfo使用
无题
Android Json解析
无题
FastJson
无题
Moshi
无题
Fragment与Activity的联动Fragment和Activity完整的生命周期如图所示。
下面给出Activity与Fragment联动时的执行顺序。
当Fragment在Activity的onCreate()中被添加时
Activity super.onCreate执行完毕
Fragment onAttach
Fragment onCreate
Fragment onCreateView
Fragment onViewCreated
Activity.super.onStart()执行中
Fragment onActivityCreated
Fragment onViewStateRestored
Fragment onStart()
Activity super.onStart执行完毕
Activity super.onPostCreate()
Activity super.onResume()
Activity super.onPostResume()执行中
Fragment onResume()
Activity super.onPosResume() ...
无题
Fragment与Activity通信
Fragment与Activity的通信交互如上图所示:
如果Activity中包含自己管理的Fragment的引用,可以通过引用直接访问所有的Fragment的public方法
如果Activity中未保存任何Fragment的引用,那么没关系,每个Fragment都有一个唯一的TAG或者ID,可以通过getFragmentManager.findFragmentByTag()或者findFragmentById()获得任何Fragment实例,然后进行操作
在Fragment中可以通过getActivity得到当前绑定的Activity的实例,然后进行操作。
备注:
如果在Fragment中需要Context,可以通过getActivity(),如果该Context需要在Activity被销毁后还存在,则使用getActivity.getApplicationContext();
考虑Fragment的重复使用问题,降低与Activity的耦合,Fragment操作应该由它的管理者Activity决定。
传递数据给Fragment步骤 ...
无题
Fragment之间的通信``1嵌套关系,使用setArguments()在Fragment B中新建一个函数:newInstance()接收传过来的参数。
1234567public static Fragment2 newInstance(String text) { Fragment2 fragment = new Fragment2(); Bundle args = new Bundle(); args.putString("param", text); fragment.setArguments(args); return fragment;}
在Fragment B的onCreateView中获取参数
123456789public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflat ...