When buttons on your Android phone are greyed out, it means three things — inactive, won’t work purposefully or something must be done to activate it. Whether it needs user input or something must be lacking in the system, it’s designed that way to let the user know. So, if you come across Android grey out button, you know that prior actions are needed to be done. Unless the problem is complicated or your system has been compromised, grey out button is designed to signify something.
For Android developers, it’s very important to communicate with the users in a straightforward way. And, the easiest way to tell them that something should be done first is through an inactive, non-clickable greyed-out button. If the button retains its color and it won’t work when they tap on it, they can say that perhaps the app freezes. Whereas if you greyed out the button, they will start to think about what needs to be done to activate the button.
This article discusses the common problems when making the Android button grey out and how to successfully implement it in your development. Although it seems very simple, some developers still find it quite complex to implement. This is because you need to change not just the functionality, but the appearance of the button, as well.
Common Issues in Making Android Grey Out Button?
Rather than making the button disappear when something is missing in the app, a greyed-out button is much better. Disabling the button functionality through
setEnabled(false) is one thing, but it might not grey out all types of buttons. Checkboxes and some regular buttons can be easily disabled and greyed out through this method.
Button Inactive but Not Greyed Out
If you are a frequent user of a particular app and for some reason, buttons won’t work with several taps, you’ll surely find it weird. Although a note or message displayed will explicitly tell the user about the problem, sometimes, you just go with your routine. Hence, when you disable the state of a button in your program, you must also change the appearance — even just greyed out.
Background Color Changes, Text Color Remains
Aesthetics-wise, it’s better to make the entire button greyed out, rather than changing only the color of the background. While changing the color of the button may seem noticeable now, it’s still not enough. To achieve your goal of greying out button in Android, read on.
How to Make Android Button Grey Out?
There are several approaches to how you’re going to display the disabled button. This article will describe two ways — one is using a color filter and the other is through making the button a bit transparent. The former is the most common approach, while the latter is quite an interesting way to present a disabled button.
Apply Color Filter to the Background
To grey out the background of the button, the simplest way to do it is to add the following code:
It works, but the resulting color will not always as how you imagined it to be. However, this might fail to grey out the text, because it’s only in the background. Therefore, you need to utilize the Drawable function for image source/s.
Furthermore, you can also use
ColorStateList for text colors — different per state: enabled/disabled or pressed/not pressed. You can create a code together with the Drawable function to define the color for each button state.
Make it Transparent and Not Greyed Out
Some developers aren’t that fond of using grey (or greying out) to indicate that buttons aren’t working that way you know them. Especially when the dominating color of your button is already grayish or the background is, it won’t make any noticeable change.
So, an alternative to the greyed-out button is to make it transparent. You can play with the opacity of the button (and the text, as well) to convey the message that the button isn’t working at the moment. Additionally, adding a text anywhere near that transparent (or partially opaque) button. In this way, users will have an idea as to why Android buttons are changing color and/or transparency.
The Final Say
In our mobile phones and computers, we can see greyed out buttons. This is a very common indication that the button isn’t working at the moment or something must be done to activate the button. It seems like a minor thing – perhaps you got to play with the color — but in Android development, it can be challenging.
This article gives you some approaches on how to make a button appear greyed out. You can change the filter or define the color for each button state. However, manipulating the opacity of the button, not just the color, could be simpler and more straightforward. Have you tried greying out buttons on Android? Which approach did you use?