SORU
5 Aralık 2011, PAZARTESİ


Nasıl tıklama ile iletişim iletişim dışında kapatmak için?

Uygulamam için özel bir iletişim uygulanması. Kullanıcı iletişim dışında tıklattığında, iletişim kesilir, uygulamak istiyorum. Ben bunun için ne yapmam gerekiyor?

CEVAP
5 Aralık 2011, PAZARTESİ


Size iletişim kutusu dışında dokunursan iletişim kapanacak dialog.setCanceledOnTouchOutside(true); kullanabilirsiniz.

Gibi bir şey

  Dialog dialog = new Dialog(context)
  dialog.setCanceledOnTouchOutside(true);

Veya olmayan bir model, daha sonra İletişim,

1 - iletişim penceresi öznitelik için bayrakFLAG_NOT_TOUCH_MODAL Ayarlayın

Window window = this.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

2 - windows özellikleri için başka bir bayrak Ekleme,, FLAG_WATCH_OUTSIDE_TOUCH - Bu bir iletişim için görünür bölgenin dışında dokunmatik alma olayı.

3 - iletişim onTouchEvent() Geçersiz kılar ve aksiyon türü için kontrol edin. eğer eylem türü 'MotionEvent.ACTION_OUTSIDE' anlamına gelir, kullanıcı iletişim bölge dışında etkileşimde bulunmaktadır. Bu durumda, iletişim dimiss veya gerçekleştirmek istediğiniz ne karar verebilirsiniz. görünüm plainprint?

public boolean onTouchEvent(MotionEvent event)  
{  

       if(event.getAction() == MotionEvent.ACTION_OUTSIDE){  
        System.out.println("TOuch outside the dialog ******************** ");  
               this.dismiss();  
       }  
       return false;  
}  

Daha fazla bilgi için bak How to dismiss a custom dialog based on touch points? How to dismiss your non-modal dialog, when touched outside dialog region

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ciaran Blumenfeld

    Ciaran Blume

    20 NİSAN 2009
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010
  • Yanko Kral

    Yanko Kral

    8 HAZİRAN 2006