首页 > 解决方案 > 在 onResume() 之前动态更改 DialogFragment Max_Height?

问题描述

我有一个自定义DialogFragment,我想根据其视图的内容大小(包装内容)动态更改其 max_height。

我不希望 的更新max_height导致 UI 跳跃,所以我计划在视图生命周期的早期进行:onMeasure().

但是我怎样才能通知包含dialogor dialogFragment

从对话框片段我可以得到它的托管视图,但我无法注册它的onMeasure()事件。

从视图来看,我可以在onMeasure()方法中编写代码,但我将如何获得对其包含对话框的引用?

我看到了这篇文章,但是随意更改高度onResume()会导致 UI 迟缓(看到 UI 后跳转)

https://stackoverflow.com/a/24213921/311130

标签: androidlayoutdialogandroid-dialogfragmentonmeasure

解决方案


((View) view.getParent()).invalidate()onMeasure()哪个视图中怎么样。我意识到这是错误的,但应该用一个班轮解决你的问题。

View诚然,如果重新计算的高度在视图层次结构中更深,这会变得更加麻烦。


推荐阅读