单击时更改按钮颜色

Change button color when clicked

好的,当我在按钮上使用 setBackground 时,单击该按钮时不再显示任何反馈。我怎样才能解决这个问题。我只是想让按钮变暗或某种类型的反馈,以便用户知道它已被单击。

希望这是有道理的!

创建此可绘制对象并将其绑定到按钮背景

<selector 
xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/YOURIMAGE" />
 <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/gradient" />
 <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/gradient" />
 <item android:drawable="@drawable/YOURIMAGE" />
 </selector>

将其应用于按钮

android:background="@drawable/button"

您需要在 XML 中创建一个选择器并将其链接到 state_pressed = "true"。在项目内部,您可以指定对象的形状。我已链接到 Android 开发者网站,因此您也可以看到其他可用选项。

        <item android:state_pressed="true">
            <shape>
                <solid android:color="#73E5E4D7" />
            </shape>
        </item>
        <item>
            <shape>
                <solid android:color="#E6E5E4D7" />
            </shape>
        </item>

Android Developer State List

希望这一切顺利。首先将您的按钮分配到 activity class 中的按钮类型参考中。 例如:newBtn=(Button) findViewById(R.id.yourButton);

之后设置该按钮的侦听器。

  yourButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            yourButton.setBackgroundColor(int colorCode);
        }
    });