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

  • vgeller1

    vgeller1

    22 Kasım 2009
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006
  • wwjoshdo

    wwjoshdo

    25 Mayıs 2009