我有一个自定义DialogFragment
,我想根据其视图的内容大小(换行内容)动态更改其max_height。
我不希望max_height
的更新导致UI的跳跃,所以我计划在视图的生命周期中尽早完成:onMeasure()
。
但是,我怎么才能通知包含dialog
或dialogFragment
?
从Dialog片段我可以得到它的托管视图,但我无法注册它的onMeasure()
事件。
从视图中我可以在onMeasure()
方法中编写代码,但是如何获得对其包含对话框的引用?
我看到了这篇文章,但是在onResume()
的高度上会导致UI缓慢(在看到用户界面后跳转)
((View) view.getParent()).invalidate()
在onMeasure()
中的任何一个视图怎么样?我意识到这有点不对,但应该用一个班轮解决你的问题。
不可否认,如果重新计算的身高View
在View Heirarchy中更深,这会变得更加麻烦。