让图片跟着你手指到处走

  首先建一个MoveImageView类,继承ImageView。

  添加方法setLocation,设置图片的绝对位置。

 

public void setLocation(int x,int y) 
 {
  this.setFrame(x, y- this.getHeight(), x + this.getWidth(), y);  
 }

 再添加方法autoMouse,处理onTouchEvent事件,使图片能跟限你的手指走动。

 

//自动移动
	public boolean autoMouse(MotionEvent event) 
	{
		boolean rb = false;
		switch (event.getAction()) 
		{
				case MotionEvent.ACTION_MOVE:
					this.setLocation((int) event.getX(), (int) event.getY());
					rb = true;
			break;
		}
		return rb;
	}

 

    这样就基本完成了。

         完整代码见附件    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Android 应用中,可以使用 ProgressBar 控件来实现进度条,同时使用 ImageView 控件来显示图片。要让图片跟着进度,可以使用动画效果来实现。 首先,在布局文件中创建 ProgressBar 和 ImageView 控件,如下所示: ```xml <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ProgressBar android:id="@+id/progressBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="0" /> <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/my_image" android:layout_alignParentRight="true" android:layout_centerVertical="true" /> </RelativeLayout> ``` 其中,ProgressBar 控件设置了最大值为 100,ImageView 控件设置了图片资源和位置。 然后,在代码中使用 ValueAnimator 来实现动画效果,让 ImageView 控件的位置随着进度条的变化而变化,代码如下所示: ```java ProgressBar progressBar = findViewById(R.id.progressBar); ImageView imageView = findViewById(R.id.imageView); ValueAnimator animator = ValueAnimator.ofInt(0, 100); animator.setDuration(2000); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { int progress = (int) animation.getAnimatedValue(); progressBar.setProgress(progress); float fraction = animation.getAnimatedFraction(); int width = progressBar.getWidth(); int offset = (int) (width * fraction); imageView.setTranslationX(offset); } }); animator.start(); ``` 其中,ValueAnimator.ofInt(0, 100) 表示创建一个从 0 到 100 的动画,setDuration(2000) 表示动画持续时间为 2 秒。在 addUpdateListener 中,通过 animation.getAnimatedValue() 方法获取当前的进度值,并设置给 ProgressBar 控件;通过 animation.getAnimatedFraction() 方法获取当前动画的完成度,并计算出 ImageView 控件的偏移量,然后通过 imageView.setTranslationX(offset) 方法设置 ImageView 控件的水平偏移量。 这样,就可以实现 Android 进度条上图片跟着进度的效果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值