Użyłem warstwy framelayout z półprzejrzystym tłem, aby utworzyć nakładkę. Jednak ta nakładka nie blokuje zdarzeń dotyku, aby wchodzić w interakcje z widokami znajdującymi się pod nią. Jak utworzyć nakładkę blokującą wszystkie zdarzenia dotykowe?Jak utworzyć nakładkę, która blokuje zdarzenia dotykowe w interfejsie pod nią?
Odpowiedz
poniższy kod doda nakładkę na wierzchu wszystko:
View v1 = new View(this);
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
1000,
50,
WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
PixelFormat.OPAQUE);
params.gravity = Gravity.BOTTOM;
WindowManager wm = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
wm.addView(v1, params);
zablokować dotykowy zdarzenie albo trzeba zmienić flagę lub poniżej kod zadziała:
protected boolean onTouchEvent (MotionEvent me) {
return true;
}
Na v1 byś zrobił importu:
import android.view.View.OnTouchListener;
następnie ustawić onTouchListener:
v1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
})
jeśli nakładka nie wystąpią zdarzenia dotykowym, a następnie zdarzenia są przekazywane do podstawowego widoku, tak aby zablokować dotykowy zdarzenia w widokach poniżej niej uczynić nakładki dotykalne android:clickable="true"
To świetnie, działa na mnie, dzięki – li2
Nicea podstęp, pracował dla mnie dzięki –
umieścić przycisk na zestawie nakładki layer.then że przycisk android: tło = „@ null” blokować dotykowy zdarzenie widzenia poniżej it..hope rozwiązać problem
Poniższy kod zadziałał u mnie. Dodałem android:clickable="true"
, aby zablokować zdarzenia dotykowe w innych widokach poniżej.
To jest przykład z paskiem postępu wewnątrz nakładki. Jeśli nie chcesz ProgressBar, możesz bez niego korzystać z FrameLayout.
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/progress_overlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0.4"
android:animateLayoutChanges="true"
android:background="@android:color/black"
android:visibility="gone"
android:clickable="true">
<ProgressBar
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:indeterminate="true"/>
</FrameLayout>
- 1. Jak wyłączyć zdarzenia dotykowe w SwipeRefreshLayout?
- 2. Przesuwne menu blokuje zdarzenie dotykowe w górnym widoku
- 3. Jak można utworzyć nakładkę w css?
- 4. Jak przechwytywać zdarzenia dotykowe z ViewPager.OnPageChangeListener
- 5. Wyłącz zdarzenia dotykowe WebView w Androidzie
- 6. Jak wykonać zdarzenia dotykowego przechwytywania przycisków w interfejsie superview?
- 7. Jak utworzyć nakładkę na inne elementy div?
- 8. UIWebView w środku UIScrollView spożywających zdarzenia dotykowe
- 9. Zdarzenia dotykowe a zdarzenia kliknięcia myszą za pomocą actionscript 3
- 10. Czy przeglądarki na komputery obsługują zdarzenia dotykowe?
- 11. TextView wewnątrz ViewPager przechwytuje zdarzenia dotykowe
- 12. TŁUMACZENIE zdarzenia dotykowe z Javascript by jQuery
- 13. Jak utworzyć nakładkę podczas udostępniania w aplikacji na Androida?
- 14. Jak symulować zdarzenia dotykowe w systemie Windows 7?
- 15. Jak emulować zdarzenia dotykowe w trybie projektowania responsywnego Safari?
- 16. Czy mogę podsłuchać zdarzenia dotykowe z Androidem?
- 17. Powolne zdarzenia dotykowe JavaScript na Androidzie
- 18. Metoda klasy, która nie jest w interfejsie
- 19. Jak utworzyć półprzezroczystą szarą nakładkę samouczka w systemie Android?
- 20. Jak mogę odpowiedzieć na zdarzenia dotykowe na UITextField?
- 21. Wyłącz GoogleMaps v2 Wyświetl, aby ignorował wszystkie zdarzenia dotykowe.
- 22. W jaki sposób UIViewController wewnątrz UIPageController może uzyskać zdarzenia dotykowe?
- 23. wyłączyć zdarzenia dotykowe w oknie RecyclerView (aby zapobiec dotknięciom użytkownika)?
- 24. Jak utworzyć cancelable zdarzenia w VB.NET
- 25. Jak utworzyć nakładkę na przeglądarkę internetową JavaFX 2?
- 26. Jak utworzyć pod-domenę w DNS Cloudflare?
- 27. UIButton wewnątrz UIView nie reaguje na zdarzenia dotykowe
- 28. Jak uzyskać zdarzenie dotykowe na CALayerze?
- 29. Jak utworzyć inteligentny wskaźnik, który blokuje i odblokowuje muteks?
- 30. Czy jest dostępny dodatek lub rozszerzenie emulujące zdarzenia dotykowe?
Jak ja nie pamiętają dotykowy słuchacza? +1 – jvrodrigues