dış sınırları tıklandığında arka plan etkinliğiyle etkileşim kurmasını engelle İletişim kutusu gibi görünen bir etkinlik oluşturuyorum."Dialog" Etkinliğinin
İşte<style name="TablesDialogActivity" parent="@android:style/Theme.Holo.Dialog">
<item name="android:windowBackground">@drawable/frame_background_left</item>
</style>
aktivite onCreate() 'dir: Burada
tarzıdır
protected void onCreate(Bundle savedInstanceState) {
getWindow().setFlags(LayoutParams.FLAG_NOT_TOUCH_MODAL, LayoutParams.FLAG_NOT_TOUCH_MODAL);
getWindow().setFlags(LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH, LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH);
super.onCreate(savedInstanceState);
}
Ve ayrıca etkinlik dokunmatik interceptor iç:
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
finish();
return true;
}
return false;
}
Oldukça fazla çalışır, etkinlik iletişim kutusu dışına dokunarak etkinleşir, ancak aynı zamanda arka planda etkinlik olan düğmelerle de etkileşir. onTouchEvent
belgesindeki belgeler, dokunma olayını tüketirseniz, doğru dönmeniz gerektiğini belirtir. Doğru döndüm, ama öyle görünmüyor.
http://stackoverflow.com/questions/4650246/how-to-cancel-an-dialog-themed-like-activity-when-touched-outside-the-window/5831214#5831214 iyi cevap) –
koduma baktınız mı? Eğer biliyorsan, oradan alındığını biliyorsun. –
Çözümüm bu soruna şu adresten ulaşabilirsiniz: http://stackoverflow.com/questions/16701915/can-we-interact-with-background-activity-when-displaying-a-dialog-over-it-in-and – user2288580