圆润的边角ImageView的 - 机器人 [英] Rounded corner ImageView - Android
本文介绍了圆润的边角ImageView的 - 机器人的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试创建的ImageView圆角corners.i搜查,发现XML code
< XML版本=1.0编码=UTF-8&GT?;
[固体机器人:颜色=#00FFFFFF/>
<填充
机器人:底部=6DP
机器人:左=6DP
机器人:右=6DP
机器人:顶部=6DP/>
<边角机器人:半径=12dp/>
<中风
机器人:宽=6DP
机器人:颜色=#FFFFFFFF/>
这是我的ImageView XML code
< ImageView的
机器人:ID =@ + ID / slidemenuuserimage
机器人:layout_width =90dp
机器人:layout_height =90dp
机器人:layout_alignParentBottom =真
机器人:layout_alignParentLeft =真
机器人:layout_marginBottom =16DP
机器人:layout_marginLeft =14dp
机器人:背景=@可绘制/帧/>
我有一个问题。当我添加背景图片编程我收到divirent结果。
slidemenuuserimage =(ImageView的)findViewById(R.id.slidemenuuserimage);
slidemenuuserimage.setBackgroundResource(R.drawable.myuserimg);
这是我的结果
我怎么可以添加填充向左或向右programmatically.in我的选择,这是一个我的问题 如果有人知道的解决方案,请帮助我。
解决方案
您也可以做到这一点编程
公共位图roundCornerImage(位图生,浮圆){
INT宽度= raw.getWidth();
INT高= raw.getHeight();
位图结果= Bitmap.createBitmap(宽度,高度,Config.ARGB_8888);
帆布油画=新的Canvas(结果);
canvas.drawARGB(0,0,0,0);
最终的涂料粉刷=新的油漆();
paint.setAntiAlias(真正的);
paint.setColor(Color.parseColor(#000000));
最终矩形矩形=新的Rect(0,0,宽度,高度);
最后RectF rectF =新RectF(RECT);
canvas.drawRoundRect(rectF,圆,圆,油漆);
paint.setXfermode(新PorterDuffXfermode(Mode.raw_IN));
canvas.drawBitmap(生,矩形,矩形,油漆);
返回结果;
}
使用它像
<$p$p><$c$c>slidemenuuserimage.setImageBitmap(roundCornerImage(BitmapFactory.de$c$cResource(getResources(), R.drawable.yourImage),50)I try to create imageview with rounded corners.i searched and found xml code
<?xml version="1.0" encoding="utf-8"?>
<solid android:color="#00ffffff" />
<padding
android:bottom="6dp"
android:left="6dp"
android:right="6dp"
android:top="6dp" />
<corners android:radius="12dp" />
<stroke
android:width="6dp"
android:color="#ffffffff" />
and this is a my imageview xml code
<ImageView
android:id="@+id/slidemenuuserimage"
android:layout_width="90dp"
android:layout_height="90dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginBottom="16dp"
android:layout_marginLeft="14dp"
android:background="@drawable/frame" />
i have one problem.when i added background image programmatically i receive divirent result.
slidemenuuserimage=(ImageView)findViewById(R.id.slidemenuuserimage);
slidemenuuserimage.setBackgroundResource(R.drawable.myuserimg);
this is a my result
how i can add padding left or right programmatically.in my option this is a my problem if anyone knows solution please help me
解决方案
You can also do this programatically
public Bitmap roundCornerImage(Bitmap raw, float round) {
int width = raw.getWidth();
int height = raw.getHeight();
Bitmap result = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas canvas = new Canvas(result);
canvas.drawARGB(0, 0, 0, 0);
final Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.parseColor("#000000"));
final Rect rect = new Rect(0, 0, width, height);
final RectF rectF = new RectF(rect);
canvas.drawRoundRect(rectF, round, round, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.raw_IN));
canvas.drawBitmap(raw, rect, rect, paint);
return result;
}
Use it like
slidemenuuserimage.setImageBitmap(roundCornerImage(BitmapFactory.decodeResource(getResources(), R.drawable.yourImage),50)
这篇关于圆润的边角ImageView的 - 机器人的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文