当我使用具有相当复杂布局的 AlertDialog.Builder 或 DialogFragment(如 this 之一)实现自定义对话框时,对话框需要一些时间才能显示出来。但是当对话框只包含几个 editText 左右时......显示对话框没有问题。为什么会这样?
是不是 AlertDialog 框架用于构建仅用于提醒用户的对话框? (顾名思义。)
是否有其他一些框架可用于实现复杂的自定义对话框?
我尝试了以下方法来解决此问题:
线程并在我想要的时候显示它。但这一般是不允许的
因为除了 UI 线程之外的任何其他线程都不应该接触 UI
相关事件。
然后显示对话框 onButtonClick。
list 文件中的 Activity 。
我正在扩展至 this问题。
任何帮助将不胜感激,在此先感谢。
最佳答案
AlertDialog和 DialogFragment框架很慢,因为它们需要一些时间来进行计算和 fragment 化。所以解决这个问题的方法是,直接使用 Dialog 框架。
Dialog dialog = new Dialog(context, R.style.Theme_AppCompat_Dialog);
// the second parameter is not compulsory and you can use other themes as well
dialog.setContentView(R.layout.name_of_layout)
.dialog.findViewById(R.id.name_of_view)
从对话框的布局文件中引用 View 然后像任何人在 Activity 类中所做的那样实现逻辑。通过阅读官方 documentation 找出适合您用例的最佳实现.
关于android - 自定义对话框需要时间才能显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63373221/