0

每当添加或删除新视图时,都会调整所有内容。我可以看到在大多数用例中这是一件非常好的事情,但不幸的是,对我来说,这是我需要避免的事情。我假设每当删除或添加视图时都会调用 onMeasure() ,从而导致它改变我给它的 X 和 Y 坐标,但是我想“禁用”它。

我的应用程序利用用户在运行时确定的动态移动和调整视图大小,因此,如果每当用户删除视图或添加新视图时,它会改变所有内容,这将非常烦人。另外我认为(尽管不确定)防止这种情况只会有助于提高性能,对吗?不测量每个视图,事实上,我根本不希望它测量它,因为再一次,用户决定了视图的大小和位置,而不是线性布局。

我正在考虑创建自己的 ViewGroup,但我以前从未这样做过。我知道您可以扩展一个预先存在的布局,如 LinearLayout 或 RelativeLayout,但我需要帮助确定我应该使用哪一个,以及是否应该在 ViewGroup 上创建一个完整的。

正如我所说,它根本不需要测量视图,事实上,如果可能的话,一个什么都不做的容器将是最佳的,我认为会产生更多的性能。谁能帮我解决这个问题?

概括:

需要一种方法来阻止预先存在的 ViewGroup、IE FrameLayout、RelativeLayout 和 LinearLayout,它们不会调整视图的位置或大小,或者创建一个根本不进行任何测量的新 ViewGroup,因为用户定义了运行时的位置和大小,不应由容器更改。

如果这是一个不好的问题或存在其他可以回答此问题的问题,请告诉我。

4

0 回答 0