2013-03-01 67 views
15

我正在做一个Popup与3纺纱和一个EditText。在阅读了许多博客和文章后,我无法决定哪个是最佳选择,PopupWindowDialogFragment我应该使用PopupWindow还是DialogFragment来接受输入?

的标准是:

  1. 兼容性不同Android的版本
  2. 性能

如果有更好的方式来做到这一点,我打开来改变视角。

非常感谢。

DialogFragment:

  • 优点:
  • 缺点:

PopupWindow:

  • 优点:
  • 缺点:

编辑:结论

DialogFragment让您使用更复杂的功能。另一个重要的事情是它更便于使用,因为它允许用户一次打开多个片段。碎片是一个更加动态的解决方案,它们是新版Android版本的标准。

PopupWindow更简单,它对用户的简单问题很有帮助。

+0

什么决定让你缩小到其中的一个(你知道任何优点或缺点吗?)。另外,考虑发布你想要的图片。这些变化将使这个全明星发布。 – Phil 2013-03-01 19:40:18

+0

谢谢菲尔,我会尽力改善这个问题! – eyyo 2013-03-01 19:41:22

回答

29

支持库可以给你一个DialogFragment这是与老版本的Android兼容。继续使用片段对话框cuz你所要求的是非常特殊的(3个spinners和一个edittext),只需右键点击你的项目并按下“Android工具” - >“添加支持库” 确保当你使用对话框进口

import android.support.v4.app.DialogFragment; 

否则你会最终使用不支持的对话框:P。你必须与对话片段,并用自己做你认为合适的视图(即使是布局的功率更大的灵活性)没有太多的努力。

对话片段

优点:

  • 能够添加任何视图
  • 轻松编辑
  • 可适应在横向或纵向药片或手机只是通过修改布局
  • 可以奉献一个全新的课程来修改您的方式

缺点:

  • Cosumes更多内存的更复杂的是你的看法
  • 更难代码

弹出窗口:

优点:

  • 简单
  • 易于编码
  • 它更标准所以就更难了用户与它混淆

缺点:

  • 简单,这意味着在它
  • 有限公司较少的控制到几个模板

这些只是从我的头脑和我的经验,但你应该阅读文档

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

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

+0

好的答案但丁! – eyyo 2013-03-02 18:12:24

+0

谢谢!如果这回答你的问题,你能接受吗? – Dante 2013-03-04 12:07:35

+0

谢谢但丁!祝你有个好的一天! – eyyo 2013-03-04 14:34:25

1

如果你需要的EditText在你的窗口,想要让你的用户能够在它和粘贴(编辑文本的正常行为),以长按则不要使用popupwindow ,我发现它在这么辛苦的方式:

一个相当大的缺点 popupwindow是长按上编辑文本不会带来默认的上下文菜单(复制/粘贴/全选,...),也有一些报道在某些设备中,这实际上导致应用程序崩溃。看到这个 https://code.google.com/p/android/issues/detail?id=62508

相关问题