2016-09-10 16 views
1

我試圖在我的Android應用程序(Java)中實現兩種類型的Dialogs,具體取決於設備的屏幕大小。Android中對話框的基類

那麼,萬一如果設備的屏幕寬度比較少,那麼有些值,那麼我想顯示BottomSheetDialogFragment。如果更多,我想展示簡單的DialogFragment。我已經編寫了BottomSheetDialogFragment的邏輯,現在瞭解到一些代碼將在DialogFragment中重複。

那麼有什麼辦法可以減少這種情況下重複代碼的數量嗎? 例如,是否可以爲這些對話框創建一些基類?

回答

2

對於這樣的情況,我會建議某種facade pattern

有了這個,你可以爲兩種對話框類型創建一個公共的外觀(或者如果你以後需要的話,甚至更多),所以你可以在那裏實現公共邏輯。

正面可能有一個createBottomSheetDialogFragment和一個createDialogFragment方法,並且都調用公共邏輯的內部方法。

或者你可以實現這個邏輯,它決定哪個對話適合當前情況,並且可以決定你自己的類中的當前情況,並決定你需要哪個對話。

+0

謝謝:)這是我一直在尋找的東西。 – dbulgakov