当添加或删除另一个视图时,ViewGroup子类“调整”子视图,我该如何防止这种情况

时间:2015-11-28 20:58:01

标签: android android-layout android-custom-view layout-gravity android-viewgroup

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

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

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

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

要点:

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

如果这是一个糟糕的问题或存在其他问题,请与我们联系。

0 个答案:

没有答案