美文网首页
使用代码设置边框圆角等

使用代码设置边框圆角等

作者: 微笑中的你 | 来源:发表于2019-11-11 10:12 被阅读0次

不必每次都要创建一个xml作为bg了。

    /**
     * 定义背景
     * @param cornerDp 边框四角弧度 默认5
     * @param borderPx 边框粗细值 默认1
     * @param borderCorlor 边框颜色值 默认 透明为0
     * @param bgColor 背景色值,默认 透明为0
     * @param context 上下文
     * @return GradientDrawable
     */
    public static GradientDrawable drawCornerBorderBg(int cornerDp, int borderPx, int borderCorlor, int bgColor, Context context){
        GradientDrawable mgDrawable= new GradientDrawable();
        mgDrawable.setShape(GradientDrawable.RECTANGLE);
        int cornerDpDef = 5;
        if (cornerDp >=0) {
            cornerDpDef = cornerDp;
        }
        int borderPxDef = 1;
        if (borderPx >=0) {
            borderPxDef = borderPx;
        }
        int borderColorDef = Color.TRANSPARENT;
        if (borderCorlor !=0) {
            borderColorDef = context.getResources().getColor(borderCorlor);
        }
        int bgColorDef = Color.TRANSPARENT;
        if (bgColor != 0) {
            bgColorDef = context.getResources().getColor(bgColor);
        }
        //设置边框颜色和宽度
        mgDrawable.setStroke(borderPxDef, borderColorDef);
        mgDrawable.setCornerRadius(dip2px(context, cornerDpDef));
        mgDrawable.setColor(bgColorDef);
        return mgDrawable;
        //
    }


    /**
     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
     */
    public static int dip2px(Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }

相关文章

网友评论

      本文标题:使用代码设置边框圆角等

      本文链接:https://www.haomeiwen.com/subject/pknzbctx.html