Desactivar / filtrar cualquier evento táctil para un diseño
¿Es posible desactivar los eventos Touch para todas las vistas dentro de un Layout dirigiendo el ParentLayout. Sé que esto es posible al examinar cada vista individual contenida en el Layout, pero sería muy útil si hubiera una manera de hacerlo para el Layout completo. Ya he probado lo siguiente, pero todo en vano.
ParentLayout.setClickable(false); ParentLayout.onFilterTouchEventForSecurity(event); ParentLayout.onTouchEvent(event); ParentLayout.setOnTouchListener(l); ...
y otros de manera similar. Cualquier ayuda sería muy apreciada.
- El método de animación applyTransformation no se activa hasta que haga clic en cualquier diseño
- Traducir una vista de un diseño a otro con animación de traducción
- ¿Cómo puedo aplicar operaciones matemáticas a las dimensiones de Android?
- Botones de triángulo diagonal de Android
- Volver a llamar a Android después de que se haya completado la representación de diseño?
- Centrar los elementos de texto en ListView
- No se puede establecer diferentes iconos / etiquetas para la aplicación y la actividad del lanzador de manifiesto
- ¿Cómo descartar el diálogo con un clic fuera del diálogo?
- Cómo mostrar el recuento de notificaciones en el icono de la barra de herramientas en android
- ¿Cómo puedo establecer un ancho máximo en un LinearLayout para que no se estire en modo horizontal?
- Android GridVIew Cambiar el número de columnas según la orientación
- ¿Dónde defino mi OnClickListener para cerrar una vista de diálogo personalizada en Android?
- Restablecer valores predeterminados de Preferencia
- Deshabilitar todos los eventos táctiles en la vista principal.
dispatchTouchEvent()
yonInterceptTouchEvent()
pueden alcanzar este objetivo. - Establezca
android:duplicateParentState="true"
en la vista de todos los niños, y configure elandroid:enable="false"
padreandroid:enable="false"
Considere tomar el siguiente enfoque.
public void disableTouch(ViewGroup viewGroup) { int childCount = viewGroup.getChildCount(); for (int i = 0; i < childCount; i++) { View view = viewGroup.getChildAt(i); view.setClickable(false); if (view instanceof ViewGroup) { disableTouch((ViewGroup) view); } } }
Pasará a través de todos los niños y deshabilitará el evento táctil para cada uno de ellos.
- SherlockFragmentActivity con múltiples ListFragments y batallas con cursor SQLite
- ¿Necesito hacer algo especial para usar el chino en mi Strings.xml?