[英]How to get invisible button on other button click
我有2個顯示按鈕。 第一個按鈕為未按下-在用戶單擊之前顯示的按鈕,而第二個按鈕在用戶單擊之后顯示的按鈕。
用戶單擊第一個按鈕后,他消失了(不可見),然后出現了第二個按鈕(Visibility.VISIBLE)。
問題是用戶再次按下按鈕后第一個按鈕沒有出現。 第一個按鈕不再出現。
那是我嘗試過的。
private void initFunctionality() {
startPlayPressed.setVisibility(View.INVISIBLE);
startPlay.setVisibility(View.VISIBLE);
startPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startPlay.setVisibility(View.INVISIBLE);
startPlayPressed.setVisibility(View.VISIBLE);
imageView.startAnimation(animation);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
ActivityUtilities.getInstance().invokeNewActivity(SplashActivity.this, MainActivity.class, true);
}
}, 500);
}
});
}
我希望用戶再次按下按鈕后,第一個按鈕將再次出現。
如果您希望在按下按鈕時發生一件事情,而在釋放按鈕時發生另一件事,則不應使用ClickListener
。 您應該使用onTouchListener 。
例:
startPlay.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN){
// User pressed the button. What should happen here?
}else if (event.getAction()==MotionEvent.ACTION_UP){
// User released the button. What should happen now?
}
return true;
}
});
注意:您的英語有點混亂。 我認為這就是您想要的(按/釋放按鈕),但也許我不完全了解您...
這是view.getVisibility()
函數,您可以嘗試一下。 在你的情況下,視圖將是按鈕
您的問題尚不清楚。 假設您要
1)隱藏Button1並在按下Button1時顯示Button2。
2)隱藏Button2並在按下Button2時顯示Button1。
下面的代碼將幫助您實現這一目標。
private void initFunctionality() {
startPlayPressed.setVisibility(View.INVISIBLE);
startPlay.setVisibility(View.VISIBLE);
startPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startPlay.setVisibility(View.INVISIBLE);
startPlayPressed.setVisibility(View.VISIBLE);
imageView.startAnimation(animation);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
ActivityUtilities.getInstance().invokeNewActivity(SplashActivity.this, MainActivity.class, true);
}
}, 500);
}
});
startPlayPressed.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startPlay.setVisibility(View.VISIBLE);
startPlayPressed.setVisibility(View.INVISIBLE);
imageView.startAnimation(animation);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do whatever you want
}
}, 500);
}
});
}
代替使用INVISIBLE,嘗試使用GONE關鍵字,如下所示
private void initFunctionality() {
startPlayPressed.setVisibility(View.GONE);
startPlay.setVisibility(View.VISIBLE);
startPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startPlay.setVisibility(View.GONE);
startPlayPressed.setVisibility(View.VISIBLE);
imageView.startAnimation(animation);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
ActivityUtilities.getInstance().invokeNewActivity(SplashActivity.this, MainActivity.class, true);
}
}, 500);
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.