簡體   English   中英

Android:單擊其他ImageButtons時閃爍的屏幕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM