我有一个自定义视图,我在Activity的XML文件中使用它。视图的宽度和高度是MATCH_PARENT。现在我试图从AttributeSet中获取运行时的宽度和高度。
int[] attrsArray = new int[]{android.R.attr.layout_width, android.R.attr.layout_height};
TypedArray typedArray = context.obtainStyledAttributes(attrs, attrsArray);
int width = typedArray.getDimensionPixelSize(0, ViewGroup.LayoutParams.MATCH_PARENT);
int height = typedArray.getDimensionPixelSize(1, ViewGroup.LayoutParams.MATCH_PARENT);
但它崩溃了。 记录器输出为 -
java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x10
System.err: at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:572)
我可以理解,因为不是MATCH_PARENT不是尺寸导致它崩溃的原因所以如何获得宽度和高度?