Samira Radwan Ответов: 2

Нарисуйте мигающий круг на холсте - android studio


Всем привет,
У меня есть java-класс extends view. Я рисую простой круг на холст Требования состоят в том, чтобы заставить этот круг мигать или мигать. Я перепробовал много вещей и много искал, но безуспешно. Довольно легко заставить textView или изображение мигать, добавив анимацию, но круг, который я должен нарисовать, затем заставит его мигать.
Любая помощь будет оценена по достоинству

Что я уже пробовал:

Вот мой круг.:
mCircle = new Paint();
mCircle.setARGB(255, 100, 255, 255);
mCircle.setShadowLayer(100, 0, 0, Color.BLUE);
canvas.drawCircle(x, y, value, mCircle);
setLayerType(1, mCircle);

Я попробовал то, что сказано в этой книге. ссылка[^] но не работает

Richard MacCutchan

Это то же самое, что заставить текст мигать, вам нужна анимация. Нарисуйте круг одним цветом, сделайте небольшую паузу, нарисуйте его другим цветом, повторите.

Samira Radwan

спасибо, я сделал почти все, как вы предложили, пожалуйста, проверьте мой ответ, и если у вас есть какие-то другие мысли, дайте мне знать.

Richard MacCutchan

Это работает?

Samira Radwan

да, это действительно работает. извиняюсь за поздний ответ

2 Ответов

Рейтинг:
4

Samira Radwan

Я создал метод для переключения между 2 цветами каждый X раз.
Я вызвал этот метод в конструкторе класса (класс расширяет представление)
Метод:

private void setCircleAnimation(){
        final int color1 = Color.parseColor("#3399ff");
        final int color2 = Color.parseColor("#84c1ff");
        circleColor = color1;
        postDelayed(new Runnable() {
            @Override
            public void run() {
                circleColor = (circleColor == color1) ? color2 : color1;
                invalidate();
                postDelayed(this, 300);
            }
        }, 300);
    }

после вызова этой функции в конструкторе. Я рисую круг, как в моем фрагменте кода в вопросе.
Не уверен, что это лучший способ сделать это, но на данный момент он работает.
Любые другие предложения или исправления очень приветствуются.
Спасибо


Рейтинг:
0

Gerry Schmitz

Моргание или "стробирование" может вызвать эпилептические припадки у некоторых людей и поэтому не рекомендуется.

Он сгруппирован с "веб - сайтами, которые отстой".

("Вращающийся" лучше ИМО).


Samira Radwan

Я понимаю вашу точку зрения. но как сделать вращение похожим на моргание? любая ссылка или стартовый код будут действительно оценены.
В моем случае я хотел бы заставить круг мигать в определенном состоянии в течение короткого времени, чтобы указать пользователю, что он должен нажать/коснуться здесь.