我正在创建一个应用程序,我希望通过它的角来围绕我的ImageView。但它没有从它的角落四舍五入,我使用了以下代码:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="8dp"
android:shape="rectangle" >
<solid android:color="#6BC1F8" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
</shape>
用于舍入图像的角落..,但我得到这样的图像:
我希望如下所示:
我不确定我在哪里做错了,请指导我:)
答案 0 :(得分:2)
在android中使用Shape制作圆角
在drawable
中创建名为roundcorner.xml
的xml文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#33DDFF" />
<corners android:radius="4dp" />
</shape>
在您的ImageButton中添加此属性android:background="@drawable/roundcorner"
并使用android:src
设置图像按钮的图像
或强>
使用图片视图集android:src = "your image"
,android:background= "your shape "
和android:clickable="true"
答案 1 :(得分:1)
有一种非常好的方法可以通过编程方式创建舍入的ImageView
。您可以尝试一下,
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;
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;
}
}
您也可以参考由Google工程师Romain Guy创建的示例应用
https://docs.google.com/a/impressol.com/file/d/0B3dxhm5xm1sia2NfM3VKTXNjUnc/edit?pli=1
的引用,
http://www.curious-creature.org/2012/12/11/android-recipe-1-image-with-rounded-corners/
答案 2 :(得分:1)
试试这个
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="270"
android:endColor="#cccccc"
android:startColor="#cccccc" />
<corners android:radius="9dp" />
<stroke
android:width="1px"
android:color="#000000" />
</shape>
将此作为android:background="@drawable/custom
用于您的imageview,您将获得以下输出。
编辑:如果您想要更圆角,请增加android:radius
的值。如果您不想要黑色边框,请删除<stroke ..... />
希望这有用。
答案 3 :(得分:-1)
我不能像我所知的那样添加财产。你只能为形状做到这一点。但你可以这样做: 添加两个Imageview。带有圆角的透明场内的第一张图片。然后将您的图像置于第一张图像下。