1、在布局中设置

设置边框圆角可以在drawable目录里定义一个xml文件: corners_bg.xml

android:bottomLeftRadius="10dp"

android:bottomRightRadius="10dp"

android:topLeftRadius="10dp"

android:topRightRadius="10dp" />

然后在布局中将要设置的控间background设置成corners_bg

2、在代码中处理图片

// 将drawable的图转变成Bitmap

Drawable drawable = getResources().getDrawable(R.drawable.d4);

BitmapDrawable bitmapDrawable = (BitmapDrawable) drawable;

Bitmap bitmap = bitmapDrawable.getBitmap();

// 将图片的四角圆化

public static Bitmap corner(Bitmap bitmap, int px) {

Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),

bitmap.getHeight(), Config.ARGB_8888);

// 得到画布

Canvas canvas = new Canvas(output);

// 将画布的四角圆化

final int color = Color.RED;

final Paint paint = new Paint();

// 得到与图像相同大小的区域 由构造的四个值决定区域的位置以及大小

final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());

final RectF rectF = new RectF(rect);

paint.setAntiAlias(true);// 抗锯齿

canvas.drawARGB(0, 0, 0, 0);

paint.setColor(color);

// drawRoundRect的第2,3个参数一样则画的是正圆的一角,如果数值不同则是椭圆的一角

canvas.drawRoundRect(rectF, px, px, paint);

paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));

canvas.drawBitmap(bitmap, rect, rect, paint);

return output;

}

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐