Как использовать функционал кнопки только тогда, когда она VISIBLE?

Уважаемые разработчики! Задача состоит в следующем... Есть 2 TextView и 1 Button(внутрь вложен Toast). Все элементы android:visibility="invisible. Когда стартует аппа, то сначала с помощью анимации появляется первый TextView, он пропадает, опять же с помощью анимации и за ним сразу же вылетает второй TextView с анимацией. Первый TextView во время своей работы меняет несколько раз свою видимость invisible -> visible -> invisible. Второй TextView меняет свою видимость только единожды invisible -> visible. Когда второй TextView отработал, он остаётся на экране, а под ним появляется кнопка(invisible -> visible) тоже с помощью анимации. Проблема в следующем: пока кнопка не стала видимой, она всё равно выполняет нажатие даже при своём invisible состоянии. Как мне сделать так, чтобы кнопка становилась рабочей и выполняла свою логику при нажатии только тогда, когда она станет visible?


Ответы (1 шт):

Автор решения: avoloshinn

Вы можете использовать View.GONE вместо View.INVISIBLE. Это решит вашу проблему но может повлиять на верстку. Поэтому если этот вариант вам не подходит то адаптируй вариант из комментариев.

button.setOnClickListener { 
        if(it.visibility == View.VISIBLE) {
            // show toast
        }
    }
→ Ссылка