我正在创建我的第一个Android应用程序,它将获利,并将其出售给公司。我在Android App Development中还不是很先进。
我有两个按钮。我已经能够检测到何时到达ScrollView的底部。一旦发生这种情况,其中一个按钮变为可点击,Button.setClickable(true);
当按钮无法点击时,我希望它变暗。
这是我写的另一个应用程序的例子。它是用Java编写的,但它不是Android应用程序。
许多按钮和其他组件都被禁用,直到打开钻石(打开扫描)的按钮和其他组件。那些被禁用的组件看起来很暗淡。我想知道如何为Android完成相同的操作。我搜索了谷歌,但没有发现任何相关内容。
P.S。如果您想了解我创建的图片中有关该软件的更多信息。它是开源的,你可以在这里查看。
答案 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