0

我正在创建我的第一个 Android 应用程序,该应用程序将获利,并将其出售给一家公司。我在 Android 应用程序开发方面还不是很先进。

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

当按钮不可点击时,我希望它变暗。

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

JSpeak

许多按钮和其他组件被禁用,直到带有菱形(打开扫描)的那个被打开。那些被禁用的组件看起来很暗淡。我想知道如何为 Android 完成相同的操作。我已经搜索了谷歌,但还没有找到任何相关的东西。

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

https://github.com/BullShark/JSpeak

4

3 回答 3

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)此操作时,按钮的背景会自动变为暗淡的。

于 2013-03-26T05:53:59.173 回答
1

只需使用您想要的任何外观制作另一个图像,并在它不可点击时将图像的背景更改为它。

当它变暗时:

button.setBackgroundResource(R.drawable.dim_image);

当它再次变为可点击时:

button.setBackgroundResource(R.drawable.clickable_image);
于 2013-03-26T05:47:02.547 回答
0

你试过了吗

myButton.setEnabled(false);?

或者

android:clickable可以通过xml使用

于 2013-03-26T05:56:04.563 回答