![](/img/trans.png)
[英]Android: How to avoid ImageView flashing when the screen is clicked?
[英]Android: Flashing screen when clicked on different ImageButtons
我有3個用於標簽的ImageButton,單擊它們會加載新的活動,但是我遇到的問題是它們感到“松懈”,如果多次單擊它們,屏幕開始閃爍,最終應用崩潰有什么辦法擺脫閃爍的屏幕,或者我應該對選項卡使用另一種方法嗎?
這是我使用的代碼:
import android.app.Activity;
public class ContactsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts_tab);
final ImageButton b = (ImageButton) findViewById(R.id.imageButtonCall);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(ContactsActivity.this,CallActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_no_move, R.anim.fade);
finish();
}
});
final ImageButton c = (ImageButton) findViewById(R.id.imageButtonSettings);
c.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(ContactsActivity.this,SettingsActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_no_move, R.anim.fade);
finish();
}
});
試圖使按鈕不能同時被多次單擊該怎么辦?
將其作為全局變量放在類中:
boolean isBclicked = false;
現在重寫onClickListener:
final ImageButton b = (ImageButton) findViewById(R.id.imageButtonCall);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if( !isBclicked){
isBclicked = true;
Intent intent = new Intent(ContactsActivity.this,CallActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_no_move, R.anim.fade);
finish();
}
}
});
因此,基本上用戶將無法多次單擊按鈕,這意味着動畫不會被打斷,因此您的問題將得到解決。 您可以使用其他按鈕執行相同的操作,並且由於在開始新活動后您完成了當前活動,因此無需將“ isBclicked”設置回false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.