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

前言

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

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

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

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

  • 可控性。Fragment可以像普通对象那样自由的创建和控制,传递参数更加容易和方便,也不用处理系统相关的事情,显示方式、替换、不管是整体还是部分,都可以做到相应的更改。

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

视频效果

这次我们就上传的e码通的登陆界面,通过切换登陆方式直接切换对应的界面,账号登陆和手势登陆


代码演示

我们的e码通项目,因为项目里的文件较多,所以我这里这截取重点。

登陆界面

activity_login.xml

中间的空白区域

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

LoginActivity

关键代码

上面先定义了我们的账号登陆和手势登陆的Fragment,然后用一个CreateFrag来创建表头和表体碎片。

然后定义一个Logintype为整型,用于区分当前的是账号登陆还是手势登陆。然后SetLoginType函数就是用于根据不同的类型切换我们的fragment的效果。


账号登陆

fragment_login_input.xml

LoginInputFragment


手势登陆

fragment_login_sign.xml

关于手势登陆这块我们单独再找一篇来讲。

LoginSignFragment


运行效果

点击切换登陆方式后


-END-

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vaccae

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值