Форум для тех, кто программирует под Android
Anonymous
Как отключить Dialogfragment щелчок снаружи на Android?
Сообщение
Anonymous » 23 апр 2024, 00:31
Я использую расширение DialogFragment
Я хочу, кроме диалогового окна, отключить щелчок на Android.
Я пробую setCanceledOnTouchOutside(true), но это не работает.
и проверьте мой источник.
Код: Выделить всё
public class QuestDialog extends DialogFragment {
private String mainMessage = "";
private View.OnClickListener positiveListener = null;
private View.OnClickListener negativeListener = null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.main_dialog, container, false);
TextView textView = (TextView) view.findViewById(R.id.main_msg);
textView.setText(mainMessage);
Button positiveBtn = (Button) view.findViewById(R.id.dialog_positive_btn);
Button negativeBtn = (Button) view.findViewById(R.id.dialog_negative_btn);
positiveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
if (positiveListener != null) {
positiveListener.onClick(view);
}
}
});
negativeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
if (negativeListener != null) [
negativeListener.onClick(view);
}
}
});
return view;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.setCanceledOnTouchOutside(true);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM |
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
dialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
return dialog;
}
public void setMessage(final String msg) {
mainMessage = new String(msg);
}
public void setPositiveButton(View.OnClickListener listener) {
positiveListener = listener;
}
этот.
Как отключить щелчок фрагмента диалога снаружи на Android?
Спасибо.
Подробнее здесь:
https://stackoverflow.com/questions/440 ... on-android
1713821515
Anonymous
Я использую расширение DialogFragment Я хочу, кроме диалогового окна, отключить щелчок на Android. Я пробую setCanceledOnTouchOutside(true), но это не работает. и проверьте мой источник. [code]public class QuestDialog extends DialogFragment { private String mainMessage = ""; private View.OnClickListener positiveListener = null; private View.OnClickListener negativeListener = null; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.main_dialog, container, false); TextView textView = (TextView) view.findViewById(R.id.main_msg); textView.setText(mainMessage); Button positiveBtn = (Button) view.findViewById(R.id.dialog_positive_btn); Button negativeBtn = (Button) view.findViewById(R.id.dialog_negative_btn); positiveBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); if (positiveListener != null) { positiveListener.onClick(view); } } }); negativeBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { dismiss(); if (negativeListener != null) [ negativeListener.onClick(view); } } }); return view; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); dialog.setCanceledOnTouchOutside(true); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); dialog.getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); return dialog; } public void setMessage(final String msg) { mainMessage = new String(msg); } public void setPositiveButton(View.OnClickListener listener) { positiveListener = listener; } [/code] этот. Как отключить щелчок фрагмента диалога снаружи на Android? Спасибо. Подробнее здесь: [url]https://stackoverflow.com/questions/44018711/how-to-dialogfragment-disable-click-outside-on-android[/url]
0 Ответы
4 Просмотры
Последнее сообщение Anonymous
08 авг 2025, 17:08
0 Ответы
39 Просмотры
Последнее сообщение Anonymous
27 сен 2024, 17:03
Отключить активность кликов за DialogFragment?
Anonymous »
23 апр 2024, 00:27 » в форуме
Android
Я не могу отменить событие нажатия кнопок в фоновом режиме при открытии фрагмента диалога. Пытаюсь вызвать фрагмент диалога через кнопку в другом фрагменте.
public class DialogPaymentSuccessFragment extends DialogFragment {
private View...
0 Ответы
21 Просмотры
Последнее сообщение Anonymous
23 апр 2024, 00:27
Android: как закрыть DialogFragment при изменении ориентации?
Anonymous »
15 мар 2024, 07:21 » в форуме
Android
Я хотел бы закрыть DialogFragment при изменении ориентации.
Проблема в том, что OnConfigurationChanged() никогда не вызывается.
И позвоните:
this.dismiss();
Метод onDetach() возвращает исключение нулевого указателя. Что я могу сделать?...
0 Ответы
22 Просмотры
Последнее сообщение Anonymous
15 мар 2024, 07:21
Как узнать причину вызова Android DialogFragment onDismiss()?
Anonymous »
07 ноя 2024, 22:53 » в форуме
Android
В моем DialogFragment я переопределяю onDismiss(), чтобы обеспечить обратный вызов родительскому фрагменту, чтобы уведомить его, когда диалог был закрыт пользователем.
Однако onDismiss() также вызывается для изменения конфигурации (например, при...
0 Ответы
15 Просмотры
Последнее сообщение Anonymous
07 ноя 2024, 22:53