基本原理就是使用ShapeDrawable构造一个圆形的drawable,然后它的paint的shader设置为将要放大的图片,然后就是简单的位置移动问题了。放大镜的半径和放大倍数都可以在代码里面修改,代码都有注释,应该很好理解了。
不过,一个问题如果只有一种解决方法的话,那未免有点令人沮丧,想玩点另类的都不行。
玩程序就得玩出个性,玩出激情。哈哈,废话太多,切回正题。
再来看看放大镜的另外一种实现吧
这里使用的是Path类,将canvas剪切出一块圆形区域,在其上绘制放大的部分。
两种方式的效果都一样,如图:

本文介绍了两种在Android中实现放大镜效果的方法。第一种方法使用BitmapShader和ShapeDrawable创建一个可移动的圆形区域来显示放大的图像部分。第二种方法利用Path类剪切出圆形区域并在该区域内绘制放大的图像。
1640

被折叠的 条评论
为什么被折叠?



