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

  • discokatze

    discokatze

    23 EYLÜL 2009
  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • Official Clouds

    Official Clo

    1 HAZİRAN 2011