Я создаю полноэкранный диалог, как описано здесь Показ диалога в полноэкранном режиме или как встроенный фрагмент.
Поэтому, когда я хочу открыть этот полноэкранный диалог из своего фрагмента, я делаю:
FragmentTransaction transaction = getActivity()
.getSupportFragmentManager()
.beginTransaction();
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.add(android.R.id.content, newFragment)
.addToBackStack(null)
.commit();
Однако, кажется, есть одна проблема с этим. Когда я нажимаю на экран, не только фрагмент диалога получает события касания, но и нижележащий фрагмент хоста. Так бывает, что при тапе вокруг в хост-фрагменте запускается действие.
Почему это происходит? Фрагмент хоста не должен получать события касания!?
Я мог бы решить эту проблему, не добавляя, а заменяя фрагмент хоста фрагментом диалога, но это нарушит задний стек.