禁用Android按钮变暗

时间:2013-03-26 05:44:04

标签: android button

我正在创建我的第一个Android应用程序,它将获利,并将其出售给公司。我在Android App Development中还不是很先进。

我有两个按钮。我已经能够检测到何时到达ScrollView的底部。一旦发生这种情况,其中一个按钮变为可点击,Button.setClickable(true);

当按钮无法点击时,我希望它变暗。

这是我写的另一个应用程序的例子。它是用Java编写的,但它不是Android应用程序。

JSpeak

许多按钮和其他组件都被禁用,直到打开钻石(打开扫描)的按钮和其他组件。那些被禁用的组件看起来很暗淡。我想知道如何为Android完成相同的操作。我搜索了谷歌,但没有发现任何相关内容。

P.S。如果您想了解我创建的图片中有关该软件的更多信息。它是开源的,你可以在这里查看。

https://github.com/BullShark/JSpeak

3 个答案:

答案 0 :(得分:3)

Anup Cowkur的类似答案,但我认为定义具有不同状态的单个drawable更清晰,更好。

dimmable_button.xml (放入你的res / drawables文件夹)

<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item state_enabled="true"
           android:drawable="@drawable/clickable_image" />
     <item state_enabled="false"
           android:drawable="@drawable/dimmed_image" />
</selector>

然后,定义按钮的layout文件:

<button
    ....
    android:background="@drawable/dimmable_button" />

现在,当你执行button.setEnabled(bool)时,按钮的背景会自动变为暗淡的背景。

答案 1 :(得分:1)

只需使用您想要的任何外观制作另一张图像,并在无法点击时将图像背景更改为该图像。

当它变暗时:

button.setBackgroundResource(R.drawable.dim_image);

再次点击时

button.setBackgroundResource(R.drawable.clickable_image);

答案 2 :(得分:0)

你试过吗

myButton.setEnabled(false);

android:clickable可以通过xml

使用