Articles of android dialogfragment

Поддерживает ли библиотека поддержки v4 новые классы, когда они доступны?

Я знаю, что библиотека поддержки v4 может использоваться для реализации в старых версиях Android вещей, которые были введены в более поздних версиях, таких как фрагменты. Если мы реализуем приложение, которое использует библиотеку поддержки v4 для отображения фрагментов диалога , например, Использует ли он последний код (т. Е. Оригинальный и новый фрагменты), когда он запускается на […]

Отображение ошибок DialogFragments ICS

После выпуска API-интерфейсов Fragments я начал переносить все мои устаревшие диалоги в DialogFraments с помощью пакета совместимости. Все работает хорошо, пока я не заметил, что мои диалоги вызывают сбои только ICS: E/AndroidRuntime( 883): FATAL EXCEPTION: main E/AndroidRuntime( 883): java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState E/AndroidRuntime( 883): at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1254) E/AndroidRuntime( 883): at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1265) E/AndroidRuntime( […]

Как создать диалог с вкладками Android с фрагментами?

Может ли кто-нибудь указать мне на пример или показать мне, как создать простой Tabbed Dialog в Android, где содержимое каждой вкладки – это Fragments ? Все примеры / учебники, которые я нашел, касаются фрагментов и вкладок, но ничего особенного для DialogFragments . Документация для FragmentTabHost показывает, как создавать вкладки в обычных фрагментах с помощью getChildFragmentManager() […]

Полноэкранный диалог с использованием прозрачного StatusBar

У меня есть DialogFragment, который я хочу показать в полноэкранном режиме. Тем не менее, я все еще хочу иметь статус StatusBar и аппаратные кнопки внизу. Я также хочу установить цвет фона StatusBar (для Lollipop). Моя проблема в том, что если я установил следующие флаги в DialogFragment: getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); Клавиатура StatusBar и Hardware становятся полупрозрачными, а […]

Фрагмент должен быть открытым статическим классом, который должен быть правильно воссоздан из состояния экземпляра

После обновления до последнего репозитория поддержки, compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:design:24.2.0' compile 'com.android.support:percent:24.2.0' compile 'com.android.support:recyclerview-v7:24.2.0' Я получаю странное исключение. java.lang.IllegalStateException: Fragment null must be a public static class to be properly recreated from instance state. at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:435) at android.support.v4.app.BackStackRecord.add(BackStackRecord.java:414) at android.support.v4.app.DialogFragment.show(DialogFragment.java:154) at com.androidapp.base.BaseActivity.showDialogFragment(BaseActivity.java:78) at com.androidapp.MainActivity.showNewDialog(MainActivity.java:304) at com.androidapp.MainActivity$6.onClick(MainActivity.java:228) В моем классе BaseActivity я создал повторно используемый фрагмент, […]

DialogFragment не отображается после добавления окна предупреждения

У меня есть функция, которая при запуске, успешно отображает DialogFragment со следующим кодом DialogFragment DialogFragment dialog; View dialogView; Context activityContext; … dialog = new DialogFragment(){ @Override public Dialog onCreateDialog(Bundle savedInstanceState) { dialogView = getActivity().getLayoutInflater().inflate(R.layout.customView, null); … AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setView(dialogView); return builder.create(); } }; dialog.show(activityContext.getSupportFragmentManager() , "MyDialog"); Проблема заключается в том, что после […]

Тестирование диалогов с помощью Robolectric

У меня есть пара вопросов по тестированию классов DialogFragment с Robolectric, поскольку я столкнулся с полным отсутствием информации по этой теме в Интернете. Каковы правильные аргументы для перехода к onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) ? Мне трудно передать аргументы в DialogFragment , я использую следующий подход: activity = new Activity(); dialog = new DialogFragment(); […]

DialogFragment не работает с SOFT_INPUT_ADJUST_PAN

У меня есть диалог, который содержит в себе некоторый контент, включая поле EditText. К сожалению, когда я нажимаю на поле EditText, программная клавиатура закрывает кнопку отклонения для диалога. Это проблема, которую я разрешил, используя getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); К сожалению, когда я это делаю, диалог сжимается, а другие предметы в нем покрываются. SOFT_INPUT_ADJUST_PAN этого я попытался использовать SOFT_INPUT_ADJUST_PAN […]

КоординаторLayout с CollapsingToolbarLayout прерывается с помощью клавиатуры в диалоговом фрагменте

Недавно я решил перенести свое приложение на использование новой библиотеки дизайна поддержки и недавно обнаружил очень неприятную ошибку. Скажем, у меня есть CoordinatorLayout, где есть AppBarLayout и любой прокручиваемый вид, будь то ViewPager, NestedScrollView или даже RecyclerView с требуемым поведением прокрутки; Выбор отображения фрагмента диалога, который отображает клавиатуру, заставляет AppBarLayout отключиться от прокрутки, и они […]

Правильный способ создания диалогового окна настраиваемого материала с помощью приложения AppCompat 23+

Хорошо, я действительно запутался здесь, как правильно настроить пользовательский диалог с помощью последней версии appcompat v23.0.1. Вот несколько способов Первый путь: public class AddTipDialogFrag extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { int title = getArguments().getInt("title"); AppCompatDialog dialogCompat = new AppCompatDialog(getActivity(), R.style.MyAlertDialogStyle); dialogCompat.setTitle(title); //doesn't work btw dialogCompat.setContentView(R.layout.add_tip_fragment); return dialogCompat; } } Второй способ: public […]