代码动态修改shape属性

来源:互联网 发布:scala 知乎 编辑:程序博客网 时间:2024/06/07 06:57

今天突然遇到一个问题, 我需要几个不同边线颜色,不同背景色颜色的矩形框,之前我都是一个需求在drawable中创建一个xml,然后我想,难道没有办法动态改变其属性么,经过查询找到以下方法

//里面的值单位为px,需要讲dp转换为pxGradientDrawable mGroupDrawable= (GradientDrawable) button.getBackground();                    /*设置边框颜色和宽度*/                    mGroupDrawable.setStroke(dip2px(FamilyDoctorActivity.this,(float)0.5), getResources().getColor(R.color.holo_orange_light));                     /*设置整体背景颜色*/                    mGroupDrawable.setColor(getResources().getColor(R.color.white));                    /*设置圆角*/                    mGroupDrawable.setCornerRadius(dip2px(FamilyDoctorActivity.this,(float)4));
  /**     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)     */public static int dip2px(Context context, float dpValue) { final float scale = context         .getResources().getDisplayMetrics().density;                return (int) (dpValue * scale + 0.5f);    }
0 0
原创粉丝点击