禁用Android的按钮看起来处于活动状态

禁用Android的按钮看起来处于活动状态,android,button,Android,Button,我是一个Android初学者,目前正在尝试制作我的第一个计算器应用程序 我最大的灵感是Windows10内置的calc。我希望在某些操作中禁用一些按钮以消除bug,但我不喜欢禁用按钮的外观 我希望启用它们,但使它们不执行任何操作。我尝试使用.setClickable(false),但是没有单击的声音,也没有单击的动画(阴影) 它们是否可以完全单击但不执行任何操作 试试这个: Button btn = (Button) findViewById(R.id.button1); btn.setEnab

我是一个Android初学者,目前正在尝试制作我的第一个计算器应用程序

我最大的灵感是Windows10内置的calc。我希望在某些操作中禁用一些按钮以消除bug,但我不喜欢禁用按钮的外观

我希望启用它们,但使它们不执行任何操作。我尝试使用
.setClickable(false)
,但是没有单击的声音,也没有单击的动画(阴影)

它们是否可以完全单击但不执行任何操作

试试这个:

Button btn = (Button) findViewById(R.id.button1);
btn.setEnabled(false);

它所做的是禁用按钮并使其不可单击。

使用变量来决定。把它放在你班上的某个地方:

private boolean clicked = false;
然后(在按钮的单击侦听器处):

就这样。当您希望按钮再次处于活动状态时,可以通过编程方式将其更改回原来的状态。此外,您还可以添加

setFocusable(false);
setFocusableInTouchMode(false);
setClickable(false);

您可以为此使用变量,因为您不想禁用to按钮,所以只需在按钮单击事件中使用if(条件)(看起来我们有相同的想法,@AhmetAcikalin;)聪明。我可能已经考虑过了。谢谢:)很高兴能帮助你:)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/disabled_color" android:state_enabled="false" />
    <item android:drawable="@color/enabled_color" android:state_enabled="true"/>
</selector>
setEnabled(false);
setFocusable(false);
setFocusableInTouchMode(false);
setClickable(false);