android - 如何以编程方式使图像角变圆

标签 android textview

我正在使用 TextView 。它有一个图像作为背景。如何以编程方式将此图像的角圆角?

最佳答案

将您的图像转换为位图,然后将该位图转换为圆角位图。最后将该位图应用于您的 TextView 背景。以下代码用于将位图转换为圆形位图图像。

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,int roundPixelSize) { 
    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888); 
    Canvas canvas = new Canvas(output); 
    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 = roundPixelSize;
    paint.setAntiAlias(true);
    canvas.drawRoundRect(rectF,roundPx,roundPx, paint);
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(bitmap, rect, rect, paint); 
    return output; 
}

关于android - 如何以编程方式使图像角变圆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7088596/

相关文章:

android - 从字符串中删除换行符

android - 创建动态/复杂的 Android viewText + editText 布局

java - Android 编程 - 尝试使用 Java 代码更改 TextView 的文本 - 启动时出错

android - 无法在 Android 上将 mp4 文件与 FFmpeg 合并

Android Wifi 直接多连接临时

android - 以编程方式创建微调器

java - 将图像附加到 TextView

Android FragmentTransaction 不会向容器添加或替换 fragment

android - 检查正在运行的进程是否是android中的系统进程的任何方法

android - 使用复合可绘制对象在 TextView 中设置实际文本填充