android 设置圆角边框下边没起作用,Android布局中实现圆角边框
1、在布局中设置设置边框圆角可以在drawable目录里定义一个xml文件: corners_bg.xmlandroid:bottomLeftRadius="10dp"android:bottomRightRadius="10dp"android:topLeftRadius="10dp"android:topRightRadius="10dp" />然后在布局中将要设置的控间backgrou
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;
}
更多推荐
所有评论(0)