gpt4 book ai didi

android - 如何使用图像创建背景,圆角无边框

转载 作者:行者123 更新时间:2023-11-29 14:32:33 24 4
gpt4 key购买 nike

我正在尝试为我的 LinearLayout 创建一个背景,它有一个带圆角的图像。我见过很多如何做到这一点的例子,但并不完全是我想要的。在大多数情况下,我见过人们使用填充来创建它,但是当我这样做时,它会绘制一种边框,我不需要任何边框,只想要圆角

    <?xml version="1.0" encoding="UTF-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item >
<shape>
<corners android:topLeftRadius="20dp" android:topRightRadius="20dp"/>
</shape>
</item>
<item >
<bitmap android:src="@drawable/header"/>
</item>
</layer-list>

最佳答案

Romain Guy 的圆角图像

使用使用 Canvas.drawRoundRect() 绘制圆角矩形的自定义 Drawable。诀窍是使用带有 BitmapShader 的 Paint 来用纹理而不是简单的颜色填充圆角矩形。

http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/

示例可以在@ https://docs.google.com/file/d/0B3dxhm5xm1sia2NfM3VKTXNjUnc/edit?pli=1 下载

这是另一个链接

How to make an ImageView with rounded corners?

另一个链接

http://ruibm.com/?p=184

public class ImageHelper {
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
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 = pixels;

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;
}
}

关于android - 如何使用图像创建背景,圆角无边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695023/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com