Tài liệu thiết kế Android ở http://developer.android.com/design/building-blocks/dialogs.html tạo sự khác biệt rõ ràng giữa các hộp thoại, cảnh báo, cửa sổ bật lên và bánh mì nướng. Nó cũng khuyên bạn nên triển khai Hộp thoại bằng phương tiện của lớp DialogFragment
và Bánh mì nướng bằng phương tiện của lớp Toast
. Tuy nhiên, tôi không rõ ràng liệu có phải Cửa sổ bật lên phải được triển khai với PopupWindow
hoặc với DialogFragment
.Hộp thoại và cửa sổ bật lên trong Android
Tôi biết rằng DialogFragments
thường đi kèm với Ok/Hủy bỏ nút và vị trí của PopupWindows
có thể được xác định, nhưng:
- Là những khác biệt nhỏ các đối số chỉ sử dụng một hay khác?
- Là
DialogFragment
người kế thừa củaPopupWindow
sẽ không được dùng nữa tại một số thời điểm? - Theo câu trả lời trong https://stackoverflow.com/a/15165554/2482894, PopupWindow là "Bị giới hạn ở một vài mẫu", nhưng tôi không thể tìm thấy bất kỳ tham chiếu nào với số lượng mẫu giới hạn trong tài liệu lớp học.
- Vì vậy, cuối cùng, bạn sẽ triển khai Cửa sổ bật lên như thế nào http://developer.android.com/design/media/dialogs_popups_example.png và tại sao?
Ok nay, theo [dialogs.html] (http : //developer.android.com/guide/topics/ui/dialogs.html), họ đang đề xuất sử dụng 'DialogFragment'even cho các cửa sổ như [list_dialog] (http://developer.android.com/images /ui/dialog_list.png) không có nút. Bên cạnh đó, tôi đoán rằng thực tế của việc dựa trên 'Fragments' làm giảm nó thêm vào BackStack, trong khi tôi không rõ ràng làm thế nào tôi sẽ làm điều đó với một' PopupWindow'. Do đó, tôi sẽ tiếp cận phương pháp 'DialogFragment', mặc dù tôi vẫn đánh giá cao một số chi tiết sâu hơn về so sánh cả hai lớp. – leo9r