目标
做个看图片的App,效果图如下:
![f558e418699db92effea680eb70799eb.gif](https://i-blog.csdnimg.cn/blog_migrate/c12c1a91a8e652d94e6d39c8abace7e8.gif)
本期目标
功能:
- 1. 下载一组图片,支持上下滑动翻页
- 2. 浏览图片时支持手势缩放
- 3. 支持收藏(下载)图片
- 4. 显示收藏
- 5. 查看被收藏图片时,可以去收藏
- 6. "我的"首页显示收藏数量
- 7. 图片上下翻页时增加切换过渡效果
涉及技术知识点:
- 1. retrofit+okHttp:访问网络接口获取数据
- 2. coroutines:异步调用
- 3. ViewPager2:进行翻页
- 4. glide:显示图片
- 5. PhotoView:支持手势缩放图片
- 6. Room:操作sqLite数据库记录和读取数据
- 7. BottomNavigationView: 底部导航栏
- 8. Recyclerview:显示列表
- 9. PageTransformer: 翻页时增加切换效果
代码简介
- 添加切换效果类
public class AlphaScaleTransformer implements ViewPager.PageTransformer { float MIN_ALPHA = 0.1f; @Override public void transformPage(View page, float position) { Log.e((String) page.getTag(), position + ""); if (position < -1 || position > 1) { page.setAlpha(0f); } else { if (-1 <= position && position < 0) { page.setAlpha(1 + position - MIN_ALPHA * position); } else if (0 < position && position <= 1) { page.setAlpha(1 - position + MIN_ALPHA * position); } else { page.setAlpha(1f); } } }}
- 设置切换
vp.setPageTransformer(true, AlphaScaleTransformer())
安卓开发工程截图
![023ad40b7e8240e8b78b1ffac23607a8.png](https://i-blog.csdnimg.cn/blog_migrate/e472373be59280f50c888821a6b57d7e.jpeg)
完整源代码
https://gitee.com/cxyzy1/browse-beauty