遇到此问题时,我正在开发自定义视图。在 XML 中,我将layout_width
&设置为layout_height
固定值100dp
。但是在onMeaure()
我widthMeasureSpec
使用 measureMode的方法中EXACTLY
,但是heightMeasureSpec
使用 measureMode AT_MOST
。更奇怪的是它们具有不同的尺寸值。这是 XML 和相关的代码片段:
代码:
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int widthMeasureMode = MeasureSpec.getMode(widthMeasureSpec);
int widthMeasureSize = MeasureSpec.getSize(widthMeasureSpec);
int heightMeasureMode = MeasureSpec.getMode(heightMeasureSpec);
int heightMeasureSize = MeasureSpec.getSize(heightMeasureSpec);
}
XML:
<com.my.view
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@color/theme"
app:contentSizeRatio="50%"
app:imageSource="@drawable/ic_logo_white_48"/>