@Override
protected synchronized void onSizeChanged(int width, int height, int old_width, int old_height) {
super.onSizeChanged(width, height, old_width, old_height);
if ((width == 0) || (height == 0)) return;
// paddingを考慮してマスク用のDrawableのサイズを計算
final int padding_left = getPaddingLeft();
final int padding_top = getPaddingTop();
final int sz = Math.min(width - padding_left - getPaddingRight(), height - padding_top - getPaddingBottom());
final int left = (width - sz) / 2 + padding_left;
final int top = (height - sz) / 2 + padding_top;
mMaskBounds.set(left, top, left + sz, top + sz);
if (sz > 3) {
mMaskedPaint.setMaskFilter(new BlurMaskFilter(sz * 2 / 3.0f, BlurMaskFilter.Blur.NORMAL));
}
// View自体のサイズはそのまま
mViewBoundsF.set(0, 0, width, height);
if (mMaskDrawable != null) {
mMaskDrawable.setBounds(mMaskBounds);
}
}
MaskImageView.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:libcommon
作者:
评论列表
文章目录