带有位图标记的Android XML可绘制圆角

带有位图标记的Android XML可绘制圆角,第1张

概述我有下一个XML drawable blue_button<?xml version='1.0' encoding='utf-8'?> <selector xmlns:android='http://schemas.android.com/apk/res/android'> <item> <layer-l

我有下一个XML drawable blue_button

我有图像button_blue_bg与渐变宽度为1px.

当我设置按钮背景时,我得到下一个图像

如你所见,我的背景没有修剪圆角边框.

我如何需要modificate xml背景渐变图像不在边界外?

我明白为什么它会发生,因为我使用图层 – 所以这就像三明治 – 但我也在目标c上编程,并且它也使用图层.但在苹果公司,它很好.

最佳答案我使用这个….首先是一个基本定义的图层,将此图层设置为布局的背景:

我用这个函数制作圆角:

    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,bitmap.getWIDth(),bitmap.getHeight());        final RectF rectF = new RectF(rect);        final float roundPx = 12;        paint.setAntiAlias(true);        canvas.drawARGB(0,0);        paint.setcolor(color);        canvas.drawRoundRect(rectF,roundPx,paint);        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));        canvas.drawBitmap(bitmap,rect,paint);        return output ;      }     

最后,活动中的代码:

public voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.menu);    // i use a relative Layout      relativeLayout rl = (relativeLayout) findVIEwByID(R.ID.rlmenu);    // Obtain then backgroud of relativeLayout    LayerDrawable layer = (LayerDrawable) rl.getBackground();    // obtain the image set in the Layer    BitmapDrawable bg = (BitmapDrawable) layer.getDrawable(1);    // create a new BitmapDrawable from the function    Drawable d =new BitmapDrawable(getRoundedCornerBitmap(bg.getBitmap()));    // set the new roundcorner image in the layer    layer.setDrawableByLayerID(1,d);    rl.setBackgroundDrawable(d);}
总结

以上是内存溢出为你收集整理的带有位图标记的Android XML可绘制圆角全部内容,希望文章能够帮你解决带有位图标记的Android XML可绘制圆角所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1140057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)