DoingDaily DoingDaily特征Banner 介绍
DoingDaily
多元化阅读+深度阅读,为用户提供有价值的信息流,这是“多元日报”的定位和理念,产品从0到1的过程,学习很很多,收获了很多,如无意外地将会持续维护下去,未来的日子会增加一些有意思的功能,敬请期待。
特征
Toolbar、Snackbar、RecycleView、SwipeRefreshLayout、Activity跳转动画
参考Googole MVP Demo加上自己的一些思考,搭建了一个属于自己的项目架构,虽然不一定很准确无误,但起码是我目前水平所能做到比较满意的了
项目结构如下所示:
-
application :自定义的全局application类
-
commom :公共类库
-
framework :全局框架,使用时必须继承相关基类,如BaseActivity、BaseFragment、RxBus
-
module :业务逻辑层,按照相关功能划分模块
-
wxapi :微信分享回调所必须的集成类
滑动隐藏顶部Toolbar这种效果网上大多数Demo都可以看到,但隐藏底部的Tab就需要用到自定义Behavior了,注意这个Behavior是依赖于AppBarLayout的,当AppBarLayout里的Toolbar发生位移的时候底部的Tab也跟随着向下隐藏,在此附上自定义的TabBehavior:
public class TabBehavior extends CoordinatorLayout.Behavior<View> { public TabBehavior(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) { return dependency instanceof AppBarLayout; } @Override public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) { float translationY = Math.abs(dependency.getTop()); child.setTranslationY(translationY); return true; } }
使用的时候引入这个Behavior即可
底部Tab封装成TabLayout,添加一个Tab几行代码搞定:
ArrayList<TabLayout.Tab> tabs = new ArrayList<>(); tabs.add(new TabLayout.Tab(R.drawable.ic_bottomtabbar_news, R.string.tab_news, NewsFragment.class)); tabs.add(new TabLayout.Tab(R.drawable.ic_bottomtabbar_wechat, R.string.tab_wechat, WechatFragment.class)); tabs.add(new TabLayout.Tab(R.drawable.ic_bottomtabbar_about, R.string.tab_about, AboutFragment.class)); mTabLayout.setUpData(tabs, this); mTabLayout.setCurrentTab(0);
主要是用到了友盟社会化分享,Bugly异常上报与应用升级,LeanCloud用户反馈这些SDK,基本没有什么大的技术含量,照着文档集成就Ok了
Banner
DoingDaily DoingDaily特征Banner 官网
https://github.com/WangGanxin/DoingDaily
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。