Android练习项目——知乎日报
16lz
2021-01-24
下载apk体验:CSDN下载 | 百度云盘下载
源码地址
https://github.com/leibnik/ZhihuDaily
说明
- 该项目集成了Bmob SDK用于登陆,注册,收藏,修改密码,修改用户名,上传头像,项目已含有Application Id无需自行申请。
- 默认主题为蓝白色,可选择相册图片来自定义主题,通过对Bitmap进行裁剪使能以CenterCrop方式设置背景
- 对首页背景图片,侧滑页背景图片及个人主页的AppBarLayout背景图片进行模糊处理,采用了流传较广的模糊算法FastBlur
- 使用RecyclerView,全面替代ListView,无论是添加点击事件,滚动监听事件,header,footer
- SwipeRefreshLayout配合RecyclerView.OnScrollListener实现下拉刷新,footer视图配合RecyclerView.OnScrollListener实现上拉加载
- 使用multiline-collapsingtoolbar代替了原生的collapsingtoolbar,使得Expanded状态的title能多行显示
- 对图片进行模糊处理耗时在几十到几百毫秒不等,因此开启异步任务进行模糊处理,如个人主页的AppBarLayout需要根据头像生成模糊的背景图片
- 上传图片成功并且Glide完成新头像的加载,需要更换AppBarLayout背景图片,可在使用Glide加载新头像时添加RequestListener,取得Drawble后开启异步任务进行模糊处理
效果图
开源依赖库
- ButterKnife
- Android-async-http
- Glide
- FastJson
- CircleImageView
- multiline-collapsingtoolbar
- Loading
官方依赖库
- com.android.support:Recyclerview:23.1.1
- com.android.support:appcompat-v7:23.1.1
- com.android.support:design:23.1.1
Gradle
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile 'de.hdodenhof:circleimageview:2.0.0' compile 'com.loopj.android:android-async-http:1.4.8' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.jakewharton:butterknife:7.0.1' compile 'com.android.support:recyclerview-v7:23.1.1' compile 'net.opacapp:multiline-collapsingtoolbar:1.0.0' compile 'com.victor:lib:1.0.4' compile files('libs/fastjson-1.2.8.jar') //bmob-sdk所需依赖 compile 'cn.bmob.android:bmob-sdk:3.4.5' compile 'com.squareup.okhttp:okhttp:2.4.0' compile 'com.squareup.okio:okio:1.4.0'}
API
知乎日报API (由 Izzy Leung提供)
更多相关文章
- Android(安卓)NDK 开发 —— 从 Assets 文件夹加载图片并上传纹
- 浅谈Android开机启动速度优化
- 初学opencv(一)
- Android解决ViewPager嵌套ViewPager中多层Fragment子ViewPager中
- android 视频播放---------利用android原生的videoview
- Android(安卓)ClassLoader
- Android关于分包方案、插件化动态加载APK或DEX 以及热补丁资料总
- Android(安卓)资源加载与匹配
- Android快捷便利但不常被使用的原生工具类