我在我的应用程序中有一个自定义视图类,我在 xml 布局中使用它。无论我在 xml 中的何处使用此视图,我都不希望它拉伸它的容器,但我希望它填充任何可用空间。这里有一个例子让它更清楚一点。我有一个 LinearLayout 设置为水平方向,我的自定义视图后跟一个 TextView。TextView 将拉伸 LinearLayout 以便它占用它需要的空间,而不是更多。我希望我的自定义视图占据 TextView 提供的垂直空间。假设 TextView 因为它的内容而最终是 50px 高。因此,LinearLayout 被拉伸到这个高度(不考虑任何边距或填充),所以我只想让视图知道它可以拉伸到那个高度,而不是“推”它的容器。
在不覆盖基类的任何测量方法(onMeasure 等)的情况下,我的视图实际上正在拉伸以占用尽可能多的空间。我已经玩过 wrap_content 和 fill_parent 了,所以我假设我需要在 View 类的一个测量方法中做一些事情。