ImageButton
is disabled(クリック不可)のままにしたかったのですが、Android: enabled = "false"
を使用したため機能しません。
disableImageButton
の方法を知っている人はいますか?
ボタンを無効として表示したい場合(XMLドローアブルファイルで設定している場合)、setClickable(false)
AND setEnabled(false)
の両方を実行するとうまくいきます。
XMLで _Android:clickable
_ 属性を使用するか、コードから setClickable(boolean)
メソッドを使用できます。
ImageButton
のクリックリスナーを設定するとき、内部でAndroidはクリック可能な属性をtrue
にリセットします。そのため、Android:clickable="false"
in xmlは役に立ちません。
さらに、属性Android:enabled="false"
xmlも機能しませんでした。
うまくいったのはコードを介してのみ設定することです:
ImageButton mBtnDelayCall = (ImageButton)v.findViewById(R.id.btnCallDelay);
mBtnDelayCall.setEnabled(false);
disableおよび"grey out"画像が必要な場合は、次の(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"/>
注あなたの背景色は無効状態の色を定義します。ご希望の結果によって異なります。
ImageButton
のようなImageView
はTextView
の属性であるため、Android:enabled="false"
属性はありません。 ImageButton
のXMLでenable = false
を作成する場合は、Android:focusable="false"
とAndroid:clickable="false"
を追加する必要があります。