奔跑的迷糊虫 2014-10-28 03:06 采纳率: 0%
浏览 1289

安卓 自定义一个圆形,然后让这个圆被点击后可以旋转。

图片传不上来,简单说下效果。
没点击时候的效果就是一个圆形,点击后这个圆形回转起来。
PS:这个效果是为了实现APP里面搜索设备用的。
希望大家帮帮忙,多谢了。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 23:48
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这是一个简单的例子,使用了ViewGroup和AnimationDrawable。你需要在你的Activity中添加以下代码:

    public class MainActivity extends AppCompatActivity {
    
        private CircleImageView circleImageView;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            circleImageView = findViewById(R.id.circle_image_view);
    
            // 创建一个动画
            AnimationDrawable animationDrawable = new AnimationDrawable();
            int[] images = {R.drawable.round, R.drawable.round};
            int duration = 1000; // 动画持续时间
    
            for (int i = 0; i < images.length; i++) {
                Drawable image = getResources().getDrawable(images[i]);
                image.setAlpha(255); // 设置初始透明度
                animationDrawable.addFrame(image, duration * i / images.length);
            }
    
            // 添加动画到view
            circleImageView.setImageDrawable(animationDrawable);
            animationDrawable.start();
    
            // 监听view的点击事件
            circleImageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    circleImageView.animate()
                            .rotation(360)
                            .setDuration(1000) // 动画持续时间
                            .start();
                }
            });
        }
    }
    

    在这个例子中,我们创建了一个名为animationDrawable的AnimationDrawable对象,并设置了一系列不同的图像作为它的帧。当用户点击circleImageView时,它会开始旋转,直到所有的帧都被播放完。

    注意:这只是一个基本的例子,你可能需要根据你的具体需求进行修改。例如,你可以改变动画的速度、颜色或者添加更多的帧等。

    评论

报告相同问题?