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))));
    

      

     
  • 相关阅读:
    上台阶
    格子游戏
    找同乡
    约德尔测试
    hihocoder_week195奖券兑换
    hihocoder_week197逆序单词
    牛客网--数串
    hihocoder_offer收割编程练习赛55_3
    hihocoder_offer收割编程练习赛55_2
    hihocoder_offer收割编程练习赛55_1
  • 原文地址:https://www.cnblogs.com/sixrain/p/6510132.html
Copyright © 2011-2022 走看看