2013-03-01 21 views
15

Tôi đang thực hiện Popup với 3 Spinners và EditText. Sau khi đọc nhiều blog và bài viết tôi không thể quyết định lựa chọn nào là tốt nhất, PopupWindow hoặc DialogFragment.Tôi có nên sử dụng PopupWindow hoặc DialogFragment để chấp nhận đầu vào không?

Các tiêu chí sẽ là:

  1. Compatibility với các phiên bản khác nhau Android của
  2. Performance

Nếu có một cách tốt hơn để làm điều đó Tôi mở để thay đổi quan điểm .

Cảm ơn bạn rất nhiều.

DialogFragment:

  • Ưu điểm:
  • Nhược điểm:

PopupWindow:

    .210
  • Ưu điểm:
  • Nhược điểm:

EDIT: KẾT LUẬN

DialogFragment phép bạn sử dụng các tính năng phức tạp hơn. Một điều quan trọng khác là nó thân thiện với máy tính bảng hơn vì nó cho phép người dùng mở nhiều hơn một đoạn tại một thời điểm. Fragments là một giải pháp năng động hơn và chúng là tiêu chuẩn cho các phiên bản Android mới hơn.

PopupWindow đơn giản hơn và rất hữu ích về các câu hỏi đơn giản cho người dùng.

+0

quyết định nào khiến bạn thu hẹp nó vào một trong những điều này (bạn có biết bất kỳ ưu điểm hay nhược điểm nào không?). Ngoài ra, hãy cân nhắc đăng ảnh về những gì bạn muốn. Những thay đổi này sẽ làm cho bài đăng này trở thành bài đăng toàn sao. – Phil

+0

Cảm ơn bạn Phil, tôi sẽ cố gắng cải thiện câu hỏi! – eyyo

Trả lời

29

Thư viện hỗ trợ có thể cung cấp cho bạn DialogFragment tương thích với các phiên bản Android cũ. Hãy tiếp tục với hộp thoại hộp thoại mà bạn đang yêu cầu khá đặc trưng (3 spinners và edittext. Chỉ cần nhấp chuột phải vào dự án của bạn và bấm vào "Android tools" -> "Thêm thư viện hỗ trợ" Đảm bảo khi bạn sử dụng hộp thoại để nhập

import android.support.v4.app.DialogFragment; 

Khác bạn sẽ kết thúc bằng hộp thoại mà không cần hỗ trợ: Bạn sẽ linh hoạt hơn khi sử dụng khung nhìn phù hợp (ngay cả bố cục do chính bạn tạo ra) mà không cần nhiều nỗ lực.

Dialog Fragment

Ưu điểm:

  • Có khả năng bổ sung thêm bất kỳ xem
  • Dễ dàng chỉnh sửa
  • có thể được điều chỉnh cho máy tính bảng hoặc điện thoại di động trong phong cảnh hoặc chân dung chỉ bằng cách thay đổi cách bố trí
  • Có thể dành toàn bộ một lớp học mới chỉ để sửa đổi nó theo cách của bạn

Nhược điểm:

  • Cosumes bộ nhớ càng phức tạp hơn là tầm nhìn của bạn
  • Harder mã

Popup Window:

Ưu điểm:

  • đơn giản
  • dễ dàng hơn để mã
  • Đó là chi tiết tiêu chuẩn nên nó sẽ khó khăn hơn cho người dùng bị nhầm lẫn với nó

Nhược điểm:

  • đơn giản hơn, có nghĩa là kiểm soát ít hơn nó
  • TNHH đến một vài mẫu

Đây chỉ là những điều quan trọng nhất và theo kinh nghiệm của tôi, nhưng bạn nên đọc tài liệu

http://developer.android.com/reference/android/widget/PopupWindow.html

http://developer.android.com/reference/android/app/DialogFragment.html

+0

Câu trả lời hay đấy Dante! – eyyo

+0

cảm ơn! nếu điều này trả lời câu hỏi của bạn, bạn có thể chấp nhận câu hỏi đó không? – Dante

+0

Cảm ơn bạn Dante! Có một cái tốt! – eyyo

1

Nếu bạn cần EditText trong cửa sổ của bạn và muốn cho người dùng của bạn để có thể nhấn và giữ trong đó và dán (hành vi bình thường của một chỉnh sửa văn bản) sau đó không sử dụng popupwindow , Tôi đã tìm thấy nó theo cách khó khăn như vậy:

Một số khá lớn Nhược điểm trên popupwindow là nhấn lâu trên chỉnh sửa văn bản sẽ không mang lại menu ngữ cảnh mặc định (sao chép/dán/chọn tất cả, ...). trong một số thiết bị, điều này thực sự gây ra sự cố ứng dụng. xem điều này https://code.google.com/p/android/issues/detail?id=62508

Các vấn đề liên quan