Soni Kumar
Soni Kumar

Reputation: 303

How make a button invisible for 1 or 2 second on another button click

In my app I want to make a button invisible for a few seconds after another button has been pressed and then it should become visible again. How it is possible?

Upvotes: 0

Views: 1133

Answers (7)

Shadow Droid
Shadow Droid

Reputation: 1696

must make buttonView invisible then use btnView.postDelayed Just inside onClick of second button just do

secondButtonView.setVisibility(View.INVISIBLE);
secondButtonView.postDelayed(new Runnable() {                      
                    @Override
                    public void run() {
                        secondButtonView.setVisibility(View.VISIBLE);  
                    }
                }, 2000);

View.postDelayed() simply calls Handler.postDelayed(). It's a convenient method that helps avoid creating Handler instances.

This quote is from Romain Guy Android framework engineer https://groups.google.com/forum/#!topic/android-developers/IuG3HgKx89Q

Upvotes: 1

Shahzeb
Shahzeb

Reputation: 3734

btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        btn.setVisibility(View.INVISIBLE);                         
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                btn.setVisibility(View.VISIBLE);
            }
        }, 1000); // where 1000 is equal to 1 sec (1 * 1000)       
    }
});

Upvotes: 1

Ganpat Kaliya
Ganpat Kaliya

Reputation: 898

try this,

write following code on another button's click event.

continuebutton.setVisibility(View.INVISIBLE);

continuebutton.postDelayed(new Runnable() {
        public void run() {
            continuebutton.setVisibility(View.VISIBLE);
        }
    }, 2000);

Upvotes: 0

subhash
subhash

Reputation: 2707

Suppose you have two buttons Button button1,button2 properly inflated and displayed in view. You can change visibility of button2 on click of button1 by:

button1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            button2.setVisibility(View.INVISIBLE);
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    button2.setVisibility(View.VISIBLE);
                }
            }, 2 * 1000);//number of seconds *1000
        }
    });

Upvotes: 0

jeet parmar
jeet parmar

Reputation: 868

U can use handler for it

also u can use Timer and TimerTask

//First button invisible

 final Handler handler = new Handler();
 handler.postDelayed(new Runnable() {

 @Override
     public void run() {
         // Second visible
         // after some MS
  }
}, 2000);

Upvotes: 0

SuperFrog
SuperFrog

Reputation: 7674

You can do somthing like this:

  firstBtn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                secondBtn.setVisibility(View.INVISIBLE);

                new Handler().postDelayed(new Runnable() {                      
                    @Override
                    public void run() {
                        secondBtn.setVisibility(View.VISIBLE);  
                    }
                }, 2000); //change it for the time you need in milliseconds
            }
        });

Upvotes: 1

Akber
Akber

Reputation: 523

//my button invisible
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
    // Do something after 5s = 5000ms
     //my button visible
}
}, 5000);

Upvotes: 0

Related Questions