@VisibleForTesting public static int resolveWidth( int widthSpec, Layout layout, boolean minimallyWide, int minimallyWideThreshold) { final int fullWidth = SizeSpec.resolveSize(widthSpec, layout.getWidth()); if (minimallyWide && layout.getLineCount() > 1) { final int minimalWidth = SizeSpec.resolveSize(widthSpec, LayoutMeasureUtil.getWidth(layout)); if (fullWidth - minimalWidth > minimallyWideThreshold) { return minimalWidth; } } return fullWidth; }
0, 0, LayoutMeasureUtil.getWidth(mLayout), LayoutMeasureUtil.getHeight(mLayout)); mTouchAreaPath.reset();
@Override public void handleMessage(Message msg) { Layout layout = (Layout) msg.obj; try { Canvas canvas = mPicture.beginRecording( LayoutMeasureUtil.getWidth(layout), LayoutMeasureUtil.getHeight(layout)); layout.draw(canvas); mPicture.endRecording(); } catch (Exception e) { // Do nothing. } } }