ScrollView(滚动条)是UI中一个基础控件,其功能是竖直滚动,其水平滚动为HorizontalScrollView。使用ScrollView实现一张图片的自定义拉伸。
效果图:
上图是效果图,图片可以拉伸,当手指放开时图片自动回调。
布局代码:
注意:要使用ScrollView时,将布局改为ScrollView,并且ScrollView只允许一个子布局,如果多个布局会报错
为了实现自定义效果,需要创建一个类继承ScrollView。
在代码中,使用onTouchEvent()对事件进行控制,首先得到图片的大小,其次,当手指移动时,计算第一次图片位置,方便后续计算,其中,缩放系数可以自己定义。
下图为创建一个缩放的方法,方法中,定义参数值作为拉伸之后或者缩放之后的图片宽和高。
该方法用于当图片拉伸之后缩放的动画,其中,使用了ValueAnimator来进行动画控制,ValueAnimator是属性动画的两个核心类之一,它通过值的改变手动设置对象的属性值来实现动画效果。