我正在编写自己的布局,扩展 ViewGroup 类。您需要覆盖的方法之一是 onMeasure() 方法。在这种方法中,父视图(将包含我的布局的视图)将传递我的布局可以具有的可能宽度和高度。
@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”(它们的含义在这里。具体来说,当我的布局可以是它想要的任何大小时,父级会传递“UNSPECIFIED”值那个特定的维度。例如,当父级是 ScrollView 时给出。
所以我唯一的疑问是:父母有可能同时将它们都作为 UNSPECIFIED传递给我的布局。如果可能,在哪些情况下?