Android 点击 ImageView 图片转圈 简单实现
时间: 2024-04-16 10:27:11 浏览: 161
图片圆圈旋转 android
4星 · 用户满意度95%
你可以通过使用属性动画来实现点击 ImageView 图片转圈的效果。下面是一个简单的示例代码:
```java
import android.animation.ObjectAnimator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.LinearInterpolator;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private ImageView imageView;
private ObjectAnimator rotationAnimator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
// 设置属性动画
rotationAnimator = ObjectAnimator.ofFloat(imageView, "rotation", 0f, 360f);
rotationAnimator.setDuration(1000); // 设置动画时长为1秒
rotationAnimator.setInterpolator(new LinearInterpolator()); // 设置动画插值器为线性插值器
rotationAnimator.setRepeatCount(ObjectAnimator.INFINITE); // 设置动画重复次数为无限次
rotationAnimator.setRepeatMode(ObjectAnimator.RESTART); // 设置动画重复模式为重新开始
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (rotationAnimator.isRunning()) {
rotationAnimator.cancel(); // 如果动画正在进行,则取消动画
} else {
rotationAnimator.start(); // 否则开始动画
}
}
});
}
}
```
这段代码首先获取到一个 ImageView 实例,然后创建了一个属性动画 `rotationAnimator` 来实现图片的旋转效果。在点击 ImageView 的时候,通过判断动画是否正在进行来决定是开始动画还是取消动画。注意需要在布局文件中添加一个 ImageView,并将其 id 设置为 `imageView`。
希望这可以帮到你!如果还有其他问题,请随时提问。
阅读全文