点击图片产生水波的动画效果代码展示
来源:互联网 发布:3dmax测试软件 编辑:程序博客网 时间:2024/05/21 09:28
效果展示先:
XMl布局中的代码
<com.example.administrator.gamehleper.widget.ScaleView <ImageView android:id="@+id/iv_download" android:layout_width="48dp" android:layout_height="48dp" android:src="@mipmap/ic_launcher" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="每日礼包" android:textSize="20dp" android:textColor="#FFFFFF" android:gravity="center"/> </com.example.administrator.gamehleper.widget.ScaleView>
产生都动画效果ScaleView类中的代码:
public class ScaleView extends RelativeLayout { private int maxLength; private float radiu; private float centerX, centerY; private Paint paint; private float FACTOR=0.1F; public ScaleView(Context context, AttributeSet attrs) { super(context, attrs); paint = new Paint(); paint.setAntiAlias(true); paint.setStyle(Paint.Style.FILL); paint.setColor(Color.parseColor("#55ffffff")); } @Override public boolean onTouchEvent(MotionEvent event) { //当手指抬起表示确认才执行操作 if (event.getAction() == MotionEvent.ACTION_UP) { radiu = 0; maxLength = (int) Math.sqrt(Math.pow(getWidth(), 2) + Math.pow(getHeight(), 2)); centerX = event.getX(); centerY = event.getY(); startScaleAnimation(); invalidate(); } return true; } private void startScaleAnimation() { ObjectAnimator animator=ObjectAnimator.ofFloat(this,"xxx",0,1).setDuration(300); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { float progress= (float) animation.getAnimatedValue(); updateView(progress); } }); animator.start(); } private void updateView(float progress) { setPivotX(getWidth()/2); setPivotY(getHeight()/2); if(progress>=0&&progress<=0.5f){ setScaleX(1+FACTOR*progress); setScaleY(1+FACTOR*progress); }else{ setScaleX(1+FACTOR*(1-progress)); setScaleY(1+FACTOR*(1-progress)); } } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if (radiu > maxLength) { return; } canvas.drawCircle(centerX, centerY, radiu, paint); radiu = radiu + 30; //防止第一次进入onDraw invalidate(); }}
0 0
- 点击图片产生水波的动画效果代码展示
- flash制作水波,根据鼠标点击产生效果
- 一款不错的图片展示效果代码
- View的点击效果-水波纹
- android的水波纹点击效果
- 水波纹点击效果的实现
- android水波纹点击效果的实现
- 点击图片缩略图放大展示效果的实现
- 如何让图片点击有水波纹效果?
- js框架jquery瀑布流图片墙效果代码下载,点击相册图片展示大图
- Java图片水波动画
- 点击某个图片放大到全屏的动画效果
- Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
- Android的一段常用动画效果代码(如何让点击的图片控件加速飞入到指定位置)
- Android 水波纹点击效果
- Android 水波纹点击效果
- RecyclerView水波纹点击效果
- Android水波纹点击效果
- LeetCode:Find the Duplicate Number
- android开发笔记之网络编程—使用TCP协议和URL进行网络编程
- 各种浏览器内核的比较
- 项目笔记0001
- Facebook推荐系统的原理、性能及使用情况
- 点击图片产生水波的动画效果代码展示
- 键盘记录器
- 汉字转换为拼音
- 第十二周上机实践项目 项目1-实现复数类中的运算符重载 (3)
- 6.2
- 常见浏览器兼容问题与解决
- Android Studio下Vim的使用
- request 和session
- iOS RunLoop