您可以测量尚未加载的活动的视图高度吗?

Posted

技术标签:

【中文标题】您可以测量尚未加载的活动的视图高度吗?【英文标题】:Can you measure the height of a view on an activity that's not been loaded yet? 【发布时间】:2020-09-28 00:29:30 【问题描述】:

我想在单击时制作一个动画,即一个按钮向下滑动到另一个按钮的位置,同时我正在加载另一个活动。这个另一个按钮在新活动上。把它想象成一个活动中的按钮正在替换另一个活动上的按钮,因此它必须向下滑动到新按钮所在的位置。

我可以在加载活动之前测量这个新按钮的位置吗?所以我可以为所有屏幕尺寸制作正确的动画。

【问题讨论】:

如果您使用片段,这将容易得多。 Activity 不是为复杂的动画设计的。 【参考方案1】:

Activity 旨在用作全屏组件,这意味着您了解弹出的其他 Activity 将占据全屏。如果这是您的目标,您可以将共享元素转换与活动一起使用以获得所需的效果:https://developer.android.com/training/transitions/start-activity#start-transition

另一方面,如果您需要两个 Activity 都留在屏幕上,那么您应该使用 Fragment,因为 Activity 不适合这种情况。有关该方法的更多信息,请参见此处:https://developer.android.com/guide/navigation/navigation-animate-transitions

【讨论】:

用第一种方法解决了。谢谢! :D

以上是关于您可以测量尚未加载的活动的视图高度吗?的主要内容,如果未能解决你的问题,请参考以下文章

为啥通过 AJAX 无限滚动加载的内容的高度在加载后没有正确测量?

android - 获取以编程方式创建的视图的估计高度

从自定义单元格加载时如何调整单元格表的高度?

如何根据标签文本快速更改表格视图单元格高度?

将控件的高度绑定到特定于单位的测量值

无论如何确定 webViewDidFinishLoad: 之外的 UIWebView 的高度吗?