android 扫描 动画,使用android studio创建扫描动画
Leandro Borg..14编辑使用非常小的代码可以解决这个问题.首先,将您的XML动画代码更改为:android:interpolator="@android:anim/accelerate_decelerate_interpolator"android:fillAfter="false">android:fromYDelta="0%p"android:toYDelta="100%p"
Leandro Borg..
14
编辑
使用非常小的代码可以解决这个问题.
首先,将您的XML动画代码更改为:
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fillAfter="false">
android:fromYDelta="0%p"
android:toYDelta="100%p"
android:duration="1000"
android:repeatCount="infinite"
android:repeatMode="restart"
/>
你的布局应该是这样的:
android:id="@+id/image"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@mipmap/ic_launcher">
android:id="@+id/bar"
android:layout_width="200dp"
android:layout_height="6dp"
android:visibility="gone"
android:background="@android:color/black"
android:src="@mipmap/ic_launcher"/>
在您的活动中,代码可以是这样的:
LinearLayout imageView = (LinearLayout) findViewById(R.id.image);
final View bar = findViewById(R.id.bar);
final Animation animation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.anim);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
bar.setVisibility(View.GONE);
}
@Override
public void onAnimationRepeat(Animation animation) {}
});
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
bar.setVisibility(View.VISIBLE);
bar.startAnimation(animation);
return false;
}
});
这样你就会有这样的结果:

我使用View而不是ImageView来制作扫描条,但您可以根据需要更改代码.
我希望它有所帮助!
编辑2:
如果您希望仅在按下图像时才发生动画,请将代码更改为:
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(motionEvent.getAction() == MotionEvent.ACTION_DOWN){
bar.setVisibility(View.VISIBLE);
bar.startAnimation(animation);
} else if(motionEvent.getAction() == MotionEvent.ACTION_UP){
bar.setVisibility(View.GONE);
animation.cancel();
}
return false;
}
});
它是您在按下图像时触发动画(MotionEvent.ACTION_DOWN),它将在图像释放时停止动画(MotionEvent.ACTION_UP)
更多推荐



所有评论(0)