Ho usato uno strato di framelayout con uno sfondo semitrasparente per creare una sovrapposizione. Ma questo overlay non blocca gli eventi di tocco per interagire con le viste sottostanti. Come dovrebbe creare una sovrapposizione che blocchi tutti gli eventi tattili?Come creare una sovrapposizione che blocchi gli eventi di tocco nell'interfaccia utente sottostante?
Come creare una sovrapposizione che blocchi gli eventi di tocco nell'interfaccia utente sottostante?
risposta
seguente codice aggiungere sovrapposizione in cima a tutto:
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);
per bloccare l'evento di tocco o si deve cambiare la bandiera o sotto il codice funzionerà:
protected boolean onTouchEvent (MotionEvent me) {
return true;
}
Per v1 fareste un'importazione:
import android.view.View.OnTouchListener;
quindi impostare le onTouchListener:
v1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
})
se sovrapposizione non viene ottiene i eventi touch poi gli eventi sono passati alla visualizzazione di base, in modo da bloccare evento di tocco in vista di sotto di essa, rendere il vostro overlay tangibile android:clickable="true"
che è grande, lavora per me, grazie – li2
Nizza trucco, ha funzionato per me, grazie –
mettere il pulsante sul set layer.then overlay quel pulsante Android: background = "@ null" è bloccare evento di tocco di vista al di sotto it..hope risolve il problema
Il codice riportato di seguito ha funzionato per me. Ho aggiunto android:clickable="true"
per bloccare gli eventi di tocco ad altre visualizzazioni sottostanti.
Questo è un esempio con ProgressBar all'interno dell'overlay. Se non vuoi il ProgressBar, puoi usare FrameLayout senza di esso.
<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. Come creare una finestra di sovrapposizione in Java?
- 2. Come intercettare gli eventi di tocco da ViewPager.OnPageChangeListener
- 3. Come rilevare gli eventi di tocco in Android
- 4. Disabilitare gli eventi di tocco di WebView in Android
- 5. Rilevamento di eventi di tocco su UILabel
- 6. Test di unità tocco gli eventi in risposta nativa
- 7. Passaggio degli eventi di tocco tramite ScrollView
- 8. Come creare una vista che salva gli oggetti Utente e Profilo utente in Django
- 9. Safari che non attiva gli eventi tattili
- 10. come creare una sovrapposizione su una miniatura di bootstrap?
- 11. Ricezione di eventi di tocco fuori limite
- 12. Come creare una vista sovrapposizione personalizzata Trasparente su SurfaceView?
- 13. Disabilita GoogleMaps v2 Visualizza in modo che ignori tutti gli eventi di tocco
- 14. Come creare una vista di sovrapposizione all'interno di un'attività
- 15. come rendere iOS 7 UIScrollView sopprime gli eventi di tocco su UIView incorporato
- 16. Eventi di tocco lento lento su Android
- 17. Android Toast ottiene gli eventi di tocco su alcuni telefoni, e non su altri
- 18. Come rendere un superview intercettare gli eventi di tocco del pulsante?
- 19. Come disattivare la soglia di spostamento quando si ricevono gli eventi di tocco?
- 20. Come rispondere agli eventi di tocco in UIWindow?
- 21. Come gestire gli eventi nei widget dell'interfaccia utente jQuery
- 22. eventi di tocco in linux utilizzando Qt
- 23. iOS notifiche tocco di eventi (API private)
- 24. Come ignorare gli eventi di tocco e passarli a oggetti UIControl di un'altra vista secondaria?
- 25. Come evitare che Admob blocchi il thread dell'interfaccia utente
- 26. Impedisci UIButton disabilitato dalla propagazione di eventi di tocco
- 27. Google Maps Disattiva il pan utente su tutti gli eventi
- 28. Come creare una sovrapposizione quando si condivide l'app in Android?
- 29. Come intercettare tutti gli eventi touch?
- 30. Come creare un pulsante rotondo con una sovrapposizione angolo
Come ho fatto a non ricordare il tocco ascoltatore? +1 – jvrodrigues