Как добиться эффекта мигания на одной кнопке при нажатии на другие кнопки ….?

#android #button #listener #sleep #wait

#Android #кнопка #слушатель #сон #подождите

Вопрос:

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

Я использовал OnTouchListener для всех дочерних кнопок, в этих прослушивателях я вызываю метод, который я использовал для мигания главной кнопки.

метод.

    public void refreshMainButton() {
        Bitmap b1 = Bitmap.createBitmap(BitmapFactory.decodeResource(
                getResources(), R.drawable.tabouterover_one));
        Bitmap b2 = Bitmap.createBitmap(BitmapFactory.decodeResource(
                getResources(), R.drawable.tabouterover_two));
        Bitmap b3 = Bitmap.createBitmap(BitmapFactory.decodeResource(
                getResources(), R.drawable.tabouterover_three));
        Bitmap b = Bitmap.createBitmap(BitmapFactory.decodeResource(
                getResources(), R.drawable.tabmain_two));

        BitmapDrawable d1 = new BitmapDrawable(b1);
        outerImageViews[1].setBackgroundDrawable(d1);
        BitmapDrawable d2 = new BitmapDrawable(b2);
        outerImageViews[1].setBackgroundDrawable(d2);
        BitmapDrawable d3 = new BitmapDrawable(b3);
        outerImageViews[1].setBackgroundDrawable(d3);

        try {
            wait(1000);
        } catch (Exception e) {
        }
        BitmapDrawable d4 = new BitmapDrawable(b);
        outerImageViews[1].setBackgroundDrawable(d4);
    }
  

Это не влияет на главную кнопку.

Если у кого-нибудь есть какие-либо идеи, пожалуйста, помогите мне.

Заранее спасибо …!

Ответ №1:

Я бы рекомендовал использовать анимацию для архивирования этого эффекта.

Android имеет очень жесткие ограничения в активности — если активность не отвечает в течение определенного времени (я думаю, это было 5 секунд), приложение показывает диалоговое окно для ее завершения. В эту ловушку вы попадете (возможно) с конструкцией wait.

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

Итак, просто создайте анимацию и запустите ее. Android выполнит сброс 🙂 Я надеюсь, что смог помочь.

Комментарии:

1. Спасибо за ответ, но какая анимация поможет полностью изменить фоновое изображение кнопок ..?

2. Если я правильно понял вашу проблему — тогда да. Воспользуйтесь ссылкой в ответе и прокрутите вниз до самого низа. Есть пример, который показывает, как изменить фон. (В данном случае это ImageView, но это не должно иметь значения.)