在onResume()之前动态更改DialogFragment Max_Height?

时间:2019-04-26 13:01:54

标签: android layout dialog android-dialogfragment onmeasure

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

我不希望max_height的更新导致UI跳转,因此我计划在视图的生命周期的尽头进行此操作:onMeasure()

但是我如何才能通知包含的dialogdialogFragment

从Dialog片段中,我可以获得其托管视图,但是无法注册它的onMeasure()事件。

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

我看到了这篇文章,但是在onResume()处调高将导致UI变渣(看到UI后会跳转)

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

1 个答案:

答案 0 :(得分:0)

在任何视图的((View) view.getParent()).invalidate()onMeasure()都如何。我意识到这是错误的做法,但应该使用一根衬纸解决您的问题。

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