[关闭]
@myron-lee 2015-01-12T13:40:57.000000Z 字数 695 阅读 1285

MeasureSpec MeasuredWidth MeasuredHeight

code


  1. private int resolveAdjustedSize(int desiredSize, int maxSize,
  2. int measureSpec) {
  3. int result = desiredSize;
  4. int specMode = MeasureSpec.getMode(measureSpec);
  5. int specSize = MeasureSpec.getSize(measureSpec);
  6. switch (specMode) {
  7. case MeasureSpec.UNSPECIFIED:
  8. /* Parent says we can be as big as we want. Just don't be larger
  9. than max size imposed on ourselves.
  10. */
  11. result = Math.min(desiredSize, maxSize);
  12. break;
  13. case MeasureSpec.AT_MOST:
  14. // Parent says we can be as big as we want, up to specSize.
  15. // Don't be larger than specSize, and don't be larger than
  16. // the max size imposed on ourselves.
  17. result = Math.min(Math.min(desiredSize, specSize), maxSize);
  18. break;
  19. case MeasureSpec.EXACTLY:
  20. // No choice. Do what we are told.
  21. result = specSize;
  22. break;
  23. }
  24. return result;
  25. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注