So currently I'm putting an Easter egg inside my app and I want the Button
to be invisible, but when clicked(Rick roll). So far I can make it work when I say:
Button.setVisibility(view.VISIBLE);
Button.setBackgroundColor(Color.TRANSPARENT);
and then my onClickListener
. The only problem with this is that I have to have text on the Button
for it to be clickable. When I take the text out and make it completely invisible then the onClickListener
is never called for some reason?
Here is my OnClickListener
wonderWhatThisDoes.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v) {
mMediaPlayer = MediaPlayer.create(About.this, R.raw.surprise);
mMediaPlayer.start();
Context context = getApplicationContext();
CharSequence text = "Congrats on finding our easter egg! Enjoy... :]";
Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
toast.show();
}
});
Don't use a button and override your Activity's dispatchTouchEvent and handle it that way.
You can create any view, such as LinearLayout, as clickable. Make a LinearLayout with the same dimensions as the button and set it's onClick listener to whatever handles the event. Since it inherently isn't visible, it should hold the same effect.
You can also disable the button (It will not be clickable).
In java code:
In .xml layout:
to this code button is invisible but it worked ;))
try making the text in the button " "...
Simple answer is set alpha to 0 like this.
It will be invisible and onclick will work.