2012-01-27 13 views
7

Bir süredir kullanıcı dokunmatik düğmelerden kaçınmak istediğim bir etkinliğim var.Netleştikten sonra geçmiş olayları alma FLAG_NOT_TOUCHABLE

Bunu yapmak:

WindowManager.LayoutParams params = getWindow().getAttributes(); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE 
      | WindowManager.LayoutParams.FLAG_FULLSCREEN); 

getWindow().setAttributes(params); 

O inşaat büyük, ama geri gelip ile dokunmatik olayları almak:

WindowManager.LayoutParams params = getWindow().getAttributes(); 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE 
      | WindowManager.LayoutParams.FLAG_FULLSCREEN); 
getWindow().setAttributes(params); 

Ben dönemde kullanıcı Boardun için tüm etkinlikler akraba almak dokunulamaz.

Bu olayları nasıl sileceğiniz hakkında bir fikriniz var mı?

+0

Bu sorunu henüz çözdünüz mü? – hungtdo

+0

Özür dilerim, çözdüğümü hatırlamıyorum ya da – jegumi

+0

neye ihtiyacım olursa olsun başka bir yol buldum, teşekkürler! Bu sorunu, ihtiyaç duyulmadan tüm görünümlere ve tersine enable = false ayarlayarak çözdüm! – hungtdo

cevap

0

Aynı sorunla karşılaşıyorum ama pencere bayrağını karıştırmadan bir geçici çözüm buluyorum. Bunu deneyin:

@Override 
public boolean dispatchTouchEvent (MotionEvent ev){ 
    if(activityTouchable == false)return true; 
    else return super.dispatchTouchEvent(ev); 
} 

@Override 
public boolean dispatchKeyEvent (KeyEvent event){ 
    if(activityTouchable == false)return true; 
    else return super.dispatchKeyEvent(event); 
} 
İlgili konular