国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

『多元日報』資訊閱讀客戶端

2019-11-07 23:58:45
字體:
來源:轉載
供稿:網友

簡介

多元化閱讀+深度閱讀,為用戶提供有價值的信息流,這是『多元日報』的定位和理念,產品從0到1的過程,學習了很多,收獲了很多,如無意外地將會持續維護下去,未來的日子會增加一些有意思的功能,敬請期待。

特性

1、Material Design設計風格

Toolbar、Snackbar、RecycleView、SwipeRefreshLayout、Activity跳轉動畫

2、MVP架構+單Activity多Fragment模式

參考Googole MVP Demo加上自己的一些思考,搭建了一個屬于自己的項目架構,雖然不一定很準確無誤,但起碼是我目前水平所能做到比較滿意的了

項目結構如下所示:

項目結構

application :自定義的全局application類

commom :公共類庫

constants :常量類

data : 數據源,包括本地和遠程

network :網絡請求封裝,使用Retrofit+rxjava

share :分享管理類

utlis :常用工具類

widgets :自定義的View,如TabLayout、RowView

framework :全局框架,使用時必須繼承相關基類,如BaseActivity、BaseFragment、RxBus

module :業務邏輯層,按照相關功能劃分模塊

wxapi :微信分享回調所必須的集成類

3、首頁仿知乎上下滑動隱藏菜單欄

滑動隱藏頂部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即可

4、封裝底部Tab、常用RowView、PullRecycleView

底部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);

5、集成第三方:社會化分享、檢測更新、埋點統計

主要是用到了友盟社會化分享,Bugly異常上報與應用升級,LeanCloud用戶反饋這些SDK,基本沒有什么大的技術含量,照著文檔集成就Ok了

推廣圖

推廣圖

下載

GithubBugly360Market

最后

開發的過程中曾遇到不少棘手的問題,參考閱讀過大神牛人們的文章,在此無法一一列出其名字,在此感謝他們的經驗分享與開源。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂伦春自治旗| 长治市| 灵川县| 泰州市| 呈贡县| 龙游县| 集贤县| 西昌市| 新晃| 南和县| 潜山县| 巴南区| 阿荣旗| 左云县| 黄浦区| 怀仁县| 阳朔县| 太仓市| 门源| 桂阳县| 新余市| 泽州县| 东海县| 蓬安县| 庐江县| 铅山县| 中山市| 晋城| 杭锦后旗| 海口市| 汶上县| 公主岭市| 宜川县| 吉木萨尔县| 兴仁县| 毕节市| 卢龙县| 上犹县| 建昌县| 武义县| 盖州市|