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

标签 android layout dialog android-dialogfragment onmeasure

我有一个自定义的 DialogFragment,我想根据其 View 的内容大小(换行内容)动态更改其 max_height。

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

但是我怎样才能通知包含的 dialogdialogFragment

从 Dialog fragment 中我可以获得它的托管 View ,但我无法注册它的 onMeasure() 事件。

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

我看到了这篇文章,但是在onResume() 改变高度会导致一个 slagish UI(看到 UI 后跳转)

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

最佳答案

无论哪个 View 的 onMeasure() 中的 ((View) view.getParent()).invalidate() 怎么样。我意识到这有点不对,但应该用一个衬里解决你的问题。

诚然,如果 recalculated-height-View 在 View Heirarchy 中更深,这将变得更加麻烦。

关于android - 在 onResume() 之前动态更改 DialogFragment Max_Height?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55868229/

相关文章:

android - 如何在 Android 中删除对话框的标题

android - 在启动所有单元测试之前调用 startKoin() 并在所有测试完成后调用 stopKoin()

android - 如何在使用 setVisibility(View.GONE) 后重绘 TextView;

ios - 如何将对象放置在中心图像周围的阵列中?

Java JFrame 弹出窗口

javascript - 如何自定义 Javascript 对话选项?

Android - 检测方向变化,但界面无响应

android - SharedPreferences 崩溃时出现奇怪的 OutOfMemory

css - 响应式电子邮件连列

html - 为什么移动版的 flex item 会溢出容器?