zoukankan      html  css  js  c++  java
  • 通过代码定义shape/selector

    public class DrawableUtil {
        /**
         * 定义一个shape资源
         *
         * @param rgb
         * @param corneradius
         * @return
         */
        public static GradientDrawable getDrawable(int rgb, int corneradius) {
            GradientDrawable gradientDrawable = new GradientDrawable();
            gradientDrawable.setColor(rgb);
            gradientDrawable.setGradientType(GradientDrawable.RECTANGLE);
            gradientDrawable.setCornerRadius(corneradius);
            gradientDrawable.setStroke(UIUtils.dp2px(1), rgb);
            return gradientDrawable;
        }
        public static StateListDrawable getSelector(Drawable normalDrawable,Drawable pressDrawable) {
            StateListDrawable stateListDrawable = new StateListDrawable();
            //给当前的颜色选择器添加选中图片指向状态,未选中图片指向状态
            stateListDrawable.addState(new int[]{android.R.attr.state_enabled, android.R.attr.state_pressed}, pressDrawable);
            stateListDrawable.addState(new int[]{android.R.attr.state_enabled}, normalDrawable);
            //设置默认状态
            stateListDrawable.addState(new int[]{}, normalDrawable);
            return stateListDrawable;
        }
    }
    

      

     

    运用
      int r = random.nextInt(210);
                int g = random.nextInt(210);
                int b = random.nextInt(210);
                tv.setBackground(
                        DrawableUtil.getSelector(DrawableUtil.getDrawable(Color.rgb(r, g, b), UIUtils.dp2px(5)),
                                DrawableUtil.getDrawable(Color.WHITE, UIUtils.dp2px(5))));
    

      

     
  • 相关阅读:
    AI编辑SVG格式的相关问题
    HTML里的id等属性命名需要注意
    canvas绘图动画细节
    触控获取坐标判断滑动方向
    CSS3卡片旋转效果
    使用CURL下载远程文件保存到服务器
    微信JS-SDK应用DEMO
    布局转换:文档流->绝对定位
    ThinkPHP缓存微信公众号access_token
    JAVA JSP笔记
  • 原文地址:https://www.cnblogs.com/sixrain/p/6510132.html
Copyright © 2011-2022 走看看