仿微博App 才搭了个架子 仅做个人记录

才做了一点点。。。之所以写本文,是因为,架构搭的还算可以,个人记录下,哈哈


lib是我的代码库,micro blog是这个项目的东西

仿微博App 才搭了个架子 仅做个人记录


lib没有直接从我的Lib项目拷过来

原因:1.还用不上那么多

2.养成即写即重构、入库、封装的习惯


lib

仿微博App 才搭了个架子 仅做个人记录


micro blog

仿微博App 才搭了个架子 仅做个人记录

拆分了view与fragment、activity,事实证明这个做法堪称完美


页面

仿微博App 才搭了个架子 仅做个人记录

仿微博App 才搭了个架子 仅做个人记录

仿微博App 才搭了个架子 仅做个人记录


底部导航栏

用的自己封装的BottomBar,我只需要

仿微博App 才搭了个架子 仅做个人记录

仿微博App 才搭了个架子 仅做个人记录

这么点代码,就搞定了一切的东西,UI布局不用写啦,点击前后的图片文字的变换不用做啦,点击事件、碎片切换事务不用做啦,等等!全部都搞好啦,爽的我想哭。。。

https://blog.****.net/qq_36523667/article/details/79506043

这里是BottomBar的介绍,也开源到github,竟然有了9个star,一开始我还很惶恐,现在感觉,就是900个都是应该的,哈哈, 舒服的我要呻吟了。


tablayout+view pager

仿微博App 才搭了个架子 仅做个人记录

已经不是什么流行的东西了,不过用我的page分离,哪怕这里包括Activity有3层,也可以管理的非常非常清晰,也大爱我的page。

tab和pager绑定的时候,FragmentManager这个碎片栈参数尤其值得注意

要区分好getFragmentManager和getChildFragmentManager方法

根据微博的这个层级状况,对应的代码是这样的

FragmentManager fm = ((AppCompatActivity)activity).getSupportFragmentManager().getFragments().get(0).getChildFragmentManager();

不再赘述了,这行代码包含了千言万语


注册登录按钮的封装

仿微博App 才搭了个架子 仅做个人记录

仿微博App 才搭了个架子 仅做个人记录x3

我发现在未登录的时候,这些按钮出现的非常频繁,所以。。。我把他们打造成简单的自定义View

逻辑大体是,判断text,如果是登录,执行登录逻辑,如果是注册,执行注册逻辑

这样一来,注册和登录是可以复用的,整个App的注册登录都是可以复用的

但是这还不够,下面的那个注册登录出现了3次

所以我把他们放在一个layout里,手动include到另外的页面里

这样一来,就可以实现,一处修改,处处变动了

简直完美!实习疯狂做项目的经历使得我的复用能力大幅度上升


使用矢量图

仿微博App 才搭了个架子 仅做个人记录

对于这样的icon型的,我这一次果断告别png,投身于svg的怀抱。

Android中svg的使用可看:

https://blog.****.net/qq_36523667/article/details/79982793


仅仅花了1、2个小时搭了个UI框架,注意点就这些,明日做业务