标题
app包和v4包区别
1、尽量不要用app包中的fragment,因为这个是在3.0之后才有的,支持的版本太高,在低版本中是是用不了的
2、android.support.v4.app.Fragment:可以兼容到1.6的版本,
3、关于这两个fragment使用标签的问题
(1)app.fragment和v4.fragment都是可以使用标签的
只是在在使用的时候如果是app.fragment则没有什么特殊的地方继承Activity即 可。
(2)当v4.fragment使用标签的时候就要特别注意了:
当这个Activity的布局中有标签的时候,这个Activity必须继承
FragmentActivity,否则就会报错
08-27 08:25:04.946: E/AndroidRuntime(9839): Caused by: java.lang.ClassCastException: com.example.android_fragment_bottom.fragments.TopBarFragment cannot be cast to android.app.Fragment
此时如果不继成FragmentActivity的话 编译系统会把认为是app包中的Fragment来处理。但是此时我们导入的是v4包中的Fragment
Android官方文档中的Fragment的例子就是以app包中的Fragment来讲解的。
(3)app包中关于Fragment的类和方法在V4包中都是有相应的对应的
可以看看这里getSupportFragmentManager().getFragments()方法在V4包中消失了?
标题
- Fragment实现底部导航栏实例代码
- 如何使用FragmentTabHost的问题
- android Fragment + ViewPager + HorizontalScrollView
- Fragment 中获取父Activity控件
- FragmentTransaction的commit和commitAllowingStateLoss的区别
- 关于切换Fragment的不重新实例化的解决方法
- 让多个Fragment 切换时不重新实例化
- Fragment详解
- 禁止ViewPager滑动方法
- 详细使用Fragment启动Activity返回的问题
- Android开发之fragment回退栈应用
- Android触摸事件传递机制及viewpager嵌套fragment冲突处理
- 炫酷ViewPager指示器效果
- 《Android基础:Fragment,看这篇就够了》
- android的ViewPager实现加载网络图片并自动轮播
重点内容
- Android进阶之Fragment与Activity之间的数据交互
- Android之ViewPager+Fragment实现页面点击切换和手势滑动
- ViewPager+Fragment取消预加载以及禁止滑动
- ViewPager+Fragment的实现及禁止滑动
- Activity和Fragment传递数据的两种方式
- TabLayout+ViewPager取消滑动,留点击,消除滑动出现的左右移动bug
- 禁止滑动的ViewPager
- 使用Fragment优雅地申请运行时权限
重点内容
开发
切换Fragment,更换上方ActionBar。在状态切换处,更改ActionBar即可。
标题
fragment嵌套尽量不要超过两层,超过了坑较多。
同级式Fragment: 比如QQ的主界面,消息,联系人,动态,这三个Fragment就属于同级关系,我们平时项目中主界面的Fragment也是属于同级Fragment
流程式Fragment: 比如我这个示例Demo,可以理解为用户账户流程,可以包括:登录/注册模块—-忘记/找回密码模块—-用户协议模块,这些Fragent就是属于流程式Fragment
ViewPager
禁止滑动
自定义ViewPager,覆写onInterceptTouchEvent(MotionEvent ev)及onTouchEvent(MotionEvent ev),拦截手势。
点击关联按钮切换
在相应按钮的点击事件中ViewPager.setCurrentItem(index);