2015-09-29 1 views
0

В моем приложении я хочу сделать кнопку невидимой в течение нескольких секунд после нажатия другой кнопки, а затем она снова станет видимой. Как это возможно?Как сделать кнопку невидимой на 1 или 2 секунды на другой кнопке

+0

u хотите, чтобы невидимая кнопка была нажата, а затем автоматически виден? –

+0

через некоторое время ?? hv u попробуйте любой код, а затем добавьте код –

ответ

1
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)  
    } 
}); 
+0

Спасибо, он работает на меня. –

+0

рад, что это помогло :) – Shahzeb

0
//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); 
1

Вы можете сделать Somthing так:

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 
      } 
     }); 
0

U может использовать обработчик для этого

также вы можете использовать таймер и TimerTask

//First button invisible 

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

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

Предположим, что у вас есть две кнопки Button button1, button2 правильно раздуты и отображаются в поле зрения. Вы можете изменить видимость button2 на щелчок button1 по:

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 
     } 
    }); 
1

должен сделать buttonView невидимым затем использовать btnView.postDelayed Просто внутри OnClick второй кнопки просто сделать

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

View.postDelayed() просто вызывает Handler.postDelayed() , Это удобный метод, который помогает избежать создания экземпляров Handler.

Эта цитата из Romain Guy Android рамочным инженерhttps://groups.google.com/forum/#!topic/android-developers/IuG3HgKx89Q

0

попробовать это,

напиши следующий код события нажатия другой кнопки.

continuebutton.setVisibility(View.INVISIBLE); 

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