gpt4 book ai didi

安卓(测量规范): When Is it possible to get both height and width as "MeasureSpec.UNSPECIFIED"

转载 作者:行者123 更新时间:2023-11-30 02:28:56 24 4
gpt4 key购买 nike

我正在编写自己的布局,扩展 ViewGroup 类。您需要覆盖的方法之一是 onMeasure() 方法。在此方法中,父 View (将包含我的布局的 View )将传递我的布局可能具有的宽度和高度。

@Override
public class MyOwnLayout extends ViewGroup {

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

// Argumens passed by the parent View.
// Can be both arguments be as MeasureSpec.UNSPECIFIED simultaneously ??
}

}

这个 MeasureSpec 参数可以有三种可能的模式:“EXACLY”、“AT_MOST”和“UNSPECIFIED”(它们的含义是 here 。具体来说,“UNSPECIFIED”值由父级传递,当我的布局可以是它在该特定维度中想要的任何大小。例如,当父级是 ScrollView 时,这是给定的。

所以我唯一的疑问是:父级可以同时将它们都作为 UNSPECIFIED 传递给我的布局。如果可能,在哪些情况下

最佳答案

您可以制作一个双向滚动的自定义 View 。这将(或可能)用 UNSPECIFIED 测量其子项的高度和宽度。嵌套在 ScrollView 中的 Horizo​​ntalScrollView 也可能会导致此行为,但不建议这样做。

通常,这种情况(UNSPECIFIED)不会出现。不忽略它可能没关系。但是,我发现忽略技术上合法的配置是将来引入奇怪错误的好方法。如果可以,您应该在 onMeasure 中处理这种情况。

关于安卓(测量规范): When Is it possible to get both height and width as "MeasureSpec.UNSPECIFIED",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27539917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com