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

  • Droid Life

    Droid Life

    17 Kasım 2009
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006
  • the one am radio

    the one am r

    6 Mayıs 2006