Android碎片化布局fragment的实战应用

前言html

Fragment其实能够理解为一个具备本身生命周期的控件,只不过这个控件又有点特殊,它有本身的处理输入事件的能力,有本身的生命周期,又必须依赖于Activity,能互相通讯和托管。微信

使用Fragment还有这么几个方面优点:ide

  • 代码复用。特别适用于模块化的开发,由于一个Fragment能够被多个Activity嵌套,有个共同的业务模块就能够复用了,是模块化UI的良好组件。模块化

  • Activity用来管理Fragment。Fragment的生命周期是寄托到Activity中,Fragment能够被Attach添加和Detach释放。函数

  • 可控性。Fragment能够像普通对象那样自由的建立和控制,传递参数更加容易和方便,也不用处理系统相关的事情,显示方式、替换、无论是总体仍是部分,均可以作到相应的更改。测试

  • Fragments是view controllers,它们包含可测试的,解耦的业务逻辑块,因为Fragments是构建在views之上的,而views很容易实现动画效果,所以Fragments在屏幕切换时具备更好的控制。动画


视频效果spa

此次咱们就上传的e码通的登录界面,经过切换登录方式直接切换对应的界面,帐号登录和手势登录.net



代码演示3d

咱们的e码通项目,由于项目里的文件较多,因此我这里这截取重点。

登录界面

activity_login.xml

中间的空白区域

咱们直接加一个LinearLayout起名为login_fragment


LoginActivity

关键代码

上面先定义了咱们的帐号登录和手势登录的Fragment,而后用一个CreateFrag来建立表头和表体碎片。

而后定义一个Logintype为整型,用于区分当前的是帐号登录仍是手势登录。而后SetLoginType函数就是用于根据不一样的类型切换咱们的fragment的效果。




帐号登录

fragment_login_input.xml


LoginInputFragment




手势登录

fragment_login_sign.xml

关于手势登录这块咱们单独再找一篇来说。


LoginSignFragment




运行效果

点击切换登录方式后




-END-


长按下方二维码关注微卡智享




本文分享自微信公众号 - 微卡智享(VaccaeShare)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索