91es.com站长 2023年6月8日 pm3:11发布 1个月前更新
0
导航号,我的单页导航
目录

前言

下面展示的是站长之一的Biu的作品,虽然一般,但也能解决自己项目中的大部分问题。

记录于此,方便自己查阅。

部分内容已经失效,没空更新

正文

自定义View

主要有山寨PhotoView,BiuTextView和BiuImageView。

山寨PhotoView

模仿Baseflow的PhotoView的一个图片View,主要是Baseflow的PhotoView不太满足需求。

山寨的PhotoView的接口跟Baseflow的PhotoView差不多,支持如:

  1. 支持单点 / 多点触摸,即时缩放图片

  2. 支持平滑滚动

  3. 在滑动父控件下能够运行良好

  4. 支持旋转[旋转后支持适配屏幕高宽]

  5. 支持设置缩放和双击tap范围等

当然,部分效果可能没有Baseflow的好,但基本功能都满足。

具体看《山寨PhotoView

BiuTextView

为了解决这个占CPU高的问题,通过自定义SurfaceView,也是想替代TextView。

BiuTextView支持如下操作:

  1. setText()

  2. setEllipsize()

  3. setTextSize()

  4. setTextColor()

具体看《BiuTextView

BiuImageView

BiuImageView是在山寨PhotoView是重构的,支持的功能也是一样的,接口也更丰富和实用。

  1. 支持左右旋转

  2. 支持缩放大小

  3. 支持双击点击处放大

  4. 支持手势缩放

  5. 支持手势移动

具体看《BiuImageView

换肤插件

换肤插件分静态换肤和动态换肤。

动态换肤插件

动态换肤的优点:

  • 满足用户个性化界面,比如提供多套皮肤

  • 相比于静态换肤,减少了apk大小

  • 皮肤资源独立,便于维护

BiuSkin1PA

具体看《动态换肤库:BiuSkin1PA》,不过,推荐看使用BiuSkin1PNA

BiuSkin1PNA

具体看《动态换肤库:BiuSkin1PNA

静态换肤插件

静态换肤就是常说的内置换肤,就是在APP内部放置多套相同的资源,进行切换。

这种换肤的缺点有, 灵活性差,apk体积太大。

当然,也不是一无是处,比如应用日夜间模式的切换,并不需要图片等的更换,只是更换颜色,那这样的方式就很实用。

静态换肤库:BiuSkin1DN

静态换肤库:BiuSkin2DN

参考文章

导航号,我的单页导航

暂无评论

暂无评论...