1
Android에 둥근 ImageView
을 만들어야합니다. 이제 Canvas.clipPath()
을 사용하지만 하드웨어 가속이 지원되지 않습니다. 물론이보기에는 View.LAYER_TYPE_SOFTWARE
을 사용합니다.android에서 xfermode를 사용하여 이미지에서 클립 라운드
public class RoundedCornerImageView extends MaptrixImageView
{
private final Path clipPath = new Path();
public RoundedCornerImageView(Context context)
{
this(context, null);
}
@SuppressLint("NewApi")
public RoundedCornerImageView(Context context, AttributeSet attrs)
{
super(context, attrs);
if (Build.VERSION.SDK_INT >= 11) {
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
}
@Override
protected void onDraw(Canvas canvas)
{
float radius = ((float) getWidth())/2;
clipPath.reset();
clipPath.addCircle(radius, radius, radius, Path.Direction.CW);
canvas.clipPath(clipPath);
super.onDraw(canvas);
}
}
하지만이보기에서는 하드웨어 가속을 사용하고 싶습니다. 이 ImageView
에 XferMode
클래스를 사용할 수 있습니까?