【android中级】之android 背景圆角和图片圆角

简介: android背景圆角的实现1.建立一个xml文件,命名为circle_corner,放置到drawable目录下,内容如下:                      圆角效果二 2.
android背景圆角的实现
1.建立一个xml文件,命名为circle_corner,放置到drawable目录下,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android = "http://schemas.android.com/apk/res/android">
  <gradient android:endColor="@android:color/transparent" 

                  android:startColor="#000000"

                  android:gradientRadius="60"  

                   android:type="radial"/>
        <corners android:radius="10px"/>
</shape>

            圆角效果二

<?xml version="1.0" encoding="UTF-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android">

<solid android:color="#99FFFFFF"/>

<corners android:radius="30px"/>

<padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />

</shape>

2.在需要圆角背景的元件上设置背景为circle_corner

<TextView android:text="abc"

                android:background="@drawable/circle_corner"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"
>

  1. 图片本身加上圆角

Bitmap myCoolBitmap = ... ; // <-- Your bitmap you want rounded

int w = myCoolBitmap.getWidth(), h = myCoolBitmap.getHeight();


Bitmap rounder = Bitmap.createBitmap(w,h,Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(rounder);  


Paint xferPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

xferPaint.setColor(Color.RED);


canvas.drawRoundRect(new RectF(0,0,w,h), 20.0f, 20.0f, xferPaint);


xferPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));

canvas.drawBitmap(myCoolBitmap, 0,0, null);

canvas.drawBitmap(rounder, 0, 0, xferPaint);

或者

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {

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

     bitmap.getHeight(), Config.ARGB_8888);

    Canvas canvas = new Canvas(output);


    final int color = 0xff424242;

    final Paint paint = new Paint();

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

    final RectF rectF = new RectF(rect);

    final float roundPx = 12;

    paint.setAntiAlias(true);

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

    paint.setColor(color);

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


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

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


    return output;

}


相关文章
|
4月前
|
XML Java Android开发
Android Studio App开发之对图片进行简单加工(包括放缩,旋转等等 附源码)
Android Studio App开发之对图片进行简单加工(包括放缩,旋转等等 附源码)
45 0
|
4月前
|
XML Java Android开发
Android Studio App开发之使用相机拍摄照片和从相册中选取图片(附源码 超详细必看)
Android Studio App开发之使用相机拍摄照片和从相册中选取图片(附源码 超详细必看)
179 0
|
7月前
|
存储 编解码 Android开发
Android关于图片方向问题
Android关于图片方向问题
41 0
|
4月前
|
XML JSON Java
Android App开发即时通信中通过SocketIO在客户端与服务端间传输文本和图片的讲解及实战(超详细 附源码)
Android App开发即时通信中通过SocketIO在客户端与服务端间传输文本和图片的讲解及实战(超详细 附源码)
72 0
|
23天前
|
Android开发
Android保存图片到相册(适配android 10以下及以上)
Android保存图片到相册(适配android 10以下及以上)
22 1
|
6月前
|
SQL 人工智能 移动开发
Android etc1tool之png图片转换pkm 和 zipalign简介
etc1tool 是一种命令行实用程序,可用于将 PNG 图片编码为 ETC1 压缩标准格式(PKM),并将 ETC1 压缩图片解码回 PNG。
|
8月前
|
Java Android开发
Android 保存资源图片到相册最新写法适用于Android10.0及以上
Android 保存资源图片到相册最新写法适用于Android10.0及以上
586 0
|
8月前
|
SQL 数据库 Android开发
Android 访问系统相册选中图片,并返回该图片的路径
Android 访问系统相册选中图片,并返回该图片的路径
99 0
|
4月前
|
API Android开发
[Android]图片加载库Glide
[Android]图片加载库Glide
55 0
|
4月前
|
Android开发
[Android]制作9-Patch图片
[Android]制作9-Patch图片
42 0