отключить ImageButton? - PullRequest
       25

отключить ImageButton?

28 голосов
/ 25 июня 2010

Я хотел оставить ImageButton отключенным (не активным), но использовал android: enabled = "false" и не работает.

Кто-нибудь знает, как отключить ImageButton?

Ответы [ 5 ]

24 голосов
/ 19 июля 2011

Если вы хотите, чтобы кнопка была отключена (если она настроена в файле для рисования в формате XML), выполните оба действия: setClickable(false) И setEnabled(false).

14 голосов
/ 25 июня 2010

Вы можете использовать атрибут android:clickable в XML или метод setClickable(boolean) из вашего кода.

3 голосов
/ 30 ноября 2015

При настройке прослушивателя кликов для ImageButton, под капотом андроид сбрасывает атрибут кликабельности на true.Вот почему настройка android:clickable="false" в xml не помогает.

Кроме того, установка атрибута android:enabled="false" в xml также не работает для меня.

То, что сработало, это тольконастройка через код:

ImageButton mBtnDelayCall = (ImageButton)v.findViewById(R.id.btnCallDelay);
mBtnDelayCall.setEnabled(false);
1 голос
/ 08 октября 2018

Если вы хотите отключить и "затенение" изображения, я использую следующее (Kotlin):

Отключить:

chevron_left.imageAlpha = 75 // 0 being transparent and 255 being opaque
chevron_left.isEnabled = false

Включить:

chevron_left.imageAlpha = 255
chevron_left.isEnabled = true

XML:

<ImageButton
            android:id="@+id/chevron_left"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_marginBottom="4dp"
            android:layout_marginStart="4dp"
            android:background="?android:attr/selectableItemBackgroundBorderless"
            android:src="@drawable/chevron_left"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"/>

Обратите внимание , что цвет фона будет определять цвет отключенного состояния.Зависит от желаемого результата.

1 голос
/ 04 апреля 2018

ImageButton как ImageView не имеет атрибута android:enabled="false", потому что это атрибут TextView. Если вы хотите сделать enable = false в XML для ImageButton, вам нужно добавить android:focusable="false" и android:clickable="false".

...