我正在使用3个Spinners和一个EditText进行 Popup 。在阅读了许多博客和文章后,我无法确定哪个是最佳选择, PopupWindow 或 DialogFragment 。
标准是:
如果有更好的方法,我愿意改变观点。
非常感谢。
的 DialogFragment: 的
的 PopupWindow: 的
编辑:结论
DialogFragment 允许您使用更复杂的功能。另一个重要的事情是它更加平板电脑,因为它允许用户一次打开多个片段。片段是一种更动态的解决方案,它们是较新Android版本的标准。
PopupWindow 更简单,对用户的简单问题非常有帮助。
答案 0 :(得分:31)
支持库可以为您提供与旧版本的android兼容的DialogFragment
。继续使用片段对话框,因为你要问的是非常特别的(3个微调器和一个edittext。只需右键单击你的项目并按“Android工具” - >>“添加支持库”
确保使用对话框导入
import android.support.v4.app.DialogFragment;
否则你最终会在没有支持的情况下使用对话框:P。您可以更灵活地使用对话框片段,并且可以轻松使用您认为合适的视图(甚至是您自己制作的布局)。
对话片段
优点:
缺点:
弹出窗口:
优点:
缺点:
这些只是我的头脑和我的经验,但你应该阅读文档
http://developer.android.com/reference/android/widget/PopupWindow.html
http://developer.android.com/reference/android/app/DialogFragment.html
答案 1 :(得分:1)
如果您需要在窗口中使用EditText并希望让您的用户能够在其中进行长按并粘贴(编辑文本的正常行为),那么请不要使用popupwindow,我发现它很难:
popupwindow上的一个非常大的缺点是长按编辑文本不会带默认上下文菜单(复制/粘贴/全选,...)。也有一些在某些设备中报告这个导致应用程序崩溃。看到这个 https://code.google.com/p/android/issues/detail?id=62508