Android envía evento táctil a la actividad principal cuando se muestra el cuadro de diálogo

Tengo un DialogFragment , es onCreateDialog() parece algo así

 Dialog dialog = new Dialog(getActivity(), R.style.Theme_Translucent_NoTitleBar); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(parentView); dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.R.color.transparent)); parentView.setOnTouchListener(onTouchListener); return dialog; 

El onTouchListener es algo así como

 private OnTouchListener onTouchListener = new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Bundle bundle = getArguments(); int[] coordinates = bundle.getIntArray(COORDINATES); int radius = bundle.getInt(RADIUS); float x = event.getX(); float y = event.getY(); Log.d(TAG, "called touch"); if (Math.pow(x - coordinates[0], 2) + Math.pow((y - coordinates[1]), 2) < Math.pow( radius, 2)) { getActivity().dispatchTouchEvent(event); Log.d(TAG, "bubbled"); } return false; } }; 

Me gustaría que los eventos táctiles que están en una región en particular (ver círculo en la foto siguiente) sean manejados por la actividad en su lugar, para que se haga clic en el botón de la actividad. De lo contrario, deseo que el diálogo maneje el evento táctil.

imagen

Para el registro, SÍ, la instrucción de registro " bubbled " se está llamando, por lo que claramente el getActivity().dispatchTouchEvent(event) no funciona como se pretende.

He notado que alguna vez incluso el método onTouchEvent() de la actividad se llama, pero el botón todavía no responde, ¿qué da?

  • Android: IllegalStateException ("No se puede configurar OnCancelListener o OnDismissListener de Dialog")
  • Textview: usando el estilo de título de diálogo: @android: style / TextAppearance.DialogWindowTitle
  • ¿Cómo se muestra un DialogFragment de ancho completo?
  • ¿Cómo afecta DialogFragment al ciclo de vida del Fragmento llamante?
  • La mejor manera de manejar el comportamiento de espalda en DialogFragment?
  • setMultiChoiceItems () no muestra elementos
  • Cómo leer / escribir las preferencias de un DialogFragment?
  • Evita que el cuadro de diálogo (o DialogFragment) se cierre cuando la aplicación pasa al fondo
  • El fragmento de diálogo omitido vuelve a aparecer cuando se reanuda la aplicación
  • Agregando dinámicamente el hilador en DialogFragment
  • Configurar el tamaño de un DialogFragment
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.