私は以前この問題に遭遇しました。最後に固定した方法は、すべてのボタンの新しい.pngファイルを作成することでした。 。しかし、私はもっとプロフェッショナルで効率的なソリューションを探しています。ボタンの不透明度を変更するとすべてが変更されます
基本的に私のアプリには7つのボタンがあります。それらのすべてはバックグラウンドとしてbackground.pngを使用します。私のコードの一部は、ロックが解除されるまで、特定のボタンを「ロック」するようにアプリケーションに指示します。しかし、ボタンのアルファ値を設定すると、すべてが影響を受けます。 background.pngの6つの複製を作成して名前を変更する以外の簡単な解決法はありますか?私のボタンのために参照されている
<Button android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button"
android:layout_margin="2dp"
android:layout_weight="1"
android:text="BUTTON TEXT"
android:textSize="20dp"
android:textColor="#FFFFFF"
android:shadowColor="#000000"
android:shadowRadius="2"
android:shadowDx="2"
android:shadowDy="2"/>
マイカスタム湖底のXMLファイル:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="false"
android:drawable="@drawable/button_unpressed" />
<item
android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/button_depressed" />
<item
android:state_focused="true"
android:state_enabled="true"
android:drawable="@drawable/button_unpressed" />
<item
android:state_enabled="true"
android:drawable="@drawable/button_unpressed" />
</selector>
私のXMLレイアウトファイル内
:
私のコードはかなり標準です最後にボタンを変更するコード:
button.setEnabled(false);
button.setText("BUTTON TEXT");
button.getBackground().setAlpha(122);
背景のアルファを変更しないでください。ビューのアルファベットを変更します(ボタン)。 – Wukash
ボタン.getBackground()。mutate()。setAlpha(122); –