2016-09-10 3 views
1

Я пытаюсь реализовать два типа Dialogs в моем приложении Android (Java), в зависимости от размера экрана устройства.Базовый класс для диалогов в Android

Итак, если ширина экрана устройства меньше, то какое-то значение, то я хочу показать BottomSheetDialogFragment. И если это больше, я хочу показать простой DialogFragment. Я написал логику для BottomSheetDialogFragment и понимаю теперь, что некоторый код будет дублироваться в DialogFragment.

Итак, есть ли способ уменьшить количество дублированных кодов в такой ситуации? Например, можно ли создать базовый класс для этих диалогов?

ответ

2

Я бы предложил какой-то facade pattern для такой ситуации.

С этим вы создадите общий фасад для обоих типов диалогов (или еще больше, если вам нужно в дальнейшем), чтобы вы могли реализовать там общую логику.

Фасад может иметь createBottomSheetDialogFragment и метод createDialogFragment, а также вызов внутреннего метода для общей логики.

Или вы можете реализовать логику, которая решает, какой диалог подходит для текущей ситуации прямо в вашем собственном классе, и решить, какой диалог вам нужен.

+0

Спасибо :) Это то, что я искал. – dbulgakov