1. public class DrawableUtil {
  2. /**
  3. * 定义一个shape资源
  4. *
  5. * @param rgb
  6. * @param corneradius
  7. * @return
  8. */
  9. public static GradientDrawable getDrawable(int rgb, int corneradius) {
  10. GradientDrawable gradientDrawable = new GradientDrawable();
  11. gradientDrawable.setColor(rgb);
  12. gradientDrawable.setGradientType(GradientDrawable.RECTANGLE);
  13. gradientDrawable.setCornerRadius(corneradius);
  14. gradientDrawable.setStroke(UIUtils.dp2px(1), rgb);
  15. return gradientDrawable;
  16. }
  17. public static StateListDrawable getSelector(Drawable normalDrawable,Drawable pressDrawable) {
  18. StateListDrawable stateListDrawable = new StateListDrawable();
  19. //给当前的颜色选择器添加选中图片指向状态,未选中图片指向状态
  20. stateListDrawable.addState(new int[]{android.R.attr.state_enabled, android.R.attr.state_pressed}, pressDrawable);
  21. stateListDrawable.addState(new int[]{android.R.attr.state_enabled}, normalDrawable);
  22. //设置默认状态
  23. stateListDrawable.addState(new int[]{}, normalDrawable);
  24. return stateListDrawable;
  25. }
  26. }

  

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

  

 

通过代码定义shape/selector的更多相关文章

  1. Java代码更改shape和selector文件的颜色值

    Android里面经常会使用shape或者selector来定制一些View的背景.那么如果想要动态更改shape或者seletor文件中的颜色值,该怎么处理呢? 一.Java代码更改shape的颜色 ...

  2. SharePoint 2013 图文开发系列之代码定义列表

    在SharePoint的开发中,用Visual Studio自定义列表是经常会用到的,因为很多时候,我们并不会手动创建列表,而手动创建列表在测试服务器和正式机之间同步字段,也很麻烦,所以我们经常用代码 ...

  3. WPF中通过代码定义模板

    WPF中可以再XAML中定义模板,也可以通过C#代码定义模板,通过代码可能更清楚的看清其逻辑,而且代码的好处就是可以随时动态的去操作,而在XAML中定义的一般都是静态的. //控件呈现的显示内容1(这 ...

  4. cucumber java从入门到精通(2)用代码定义步骤

    cucumber java从入门到精通(2)用代码定义步骤 上一节里我们定义了feature文件,feature文件就是自然语言描述的用例文件,它有一定的章法,具体的潜规则是: 使用Feature关键 ...

  5. 代码设置Shape和Selector

    开发中经常需要使用Shape和Selector,如果每个都用xml设置的话,会占用apk大小,同时命名多了也会混乱,使用代码来设置会方便很多. 需要用到2个类:GradientDrawable和Sta ...

  6. android自定义样式大全:shape,selector,layer-list,style,动画全部内容

    原文:http://keeganlee.me/post/android/20150830 以下摘取了部分内容: shape 一般用shape定义的xml文件存放在drawable目录下,若项目没有该目 ...

  7. 在Orchard CMS Theme 用代码定义布局Widgets

    因为公司业务需要,经过本人几个月尝试,使用Orchard CMS 开发一个简单的企业门户(地址是http://www.ubof.cn).在刚开始接触Orchard CMS,对于个性化的网页布局不知道怎 ...

  8. VSTO PowerPoint 代码删除Shape后再恢复出现无法再次获取的问题

    做PowerPoint的VSTO插件项目,遇到个很奇怪的问题,当代码执行删除某些Shape时,没问题,但是操作Undo也就是恢复后,无法再次获取到之前删除的对象,这种情况只在Office2007中出现 ...

  9. shape--用代码修改shape的颜色属性

    Android里面经常会使用shape来定制一些View的背景,可以修改View的背景颜色,形状等属性 一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是 ...

随机推荐

  1. linux-kernel-4.4 移植 (2)解决上部遗留DMA-PL330的问题

    查看drivers/tty/serial/samsung.c文件发现,当传输数据量小于ourport->min_dma_size时,不使用DMA,大于等于min_mda_size时才是使用DMA ...

  2. Mac 怎么通过自带终端连接linux服务器

    简单来说,就两步骤 · 打开Mac终端,切换到root权限下 切换root权限: sudo -i ·通过ssh命令连接linux服务器 ssh root@127.0.0.1 root是账户名,@后面的 ...

  3. 周一要做的事情Sd31y5YE

    问实习生活动是否有费用 调查结果更新,提醒各个pm 修改模板,把我们追加的东西体现在模板里

  4. 关于PHP架构师进阶的一些思考

    相信大家都有感觉,就是当程序员写业务写了几年后,就会有想进阶的想法,技术方面当然就是架构师了,然后具体从哪些方面丰富自己才能个达到目的呢?大部分人可能会很迷茫,当然也包括我, 最近和很多大牛交流了一些 ...

  5. Java Swing实现展示数据,以及过滤排序

    public class RelationCostctrTable extends DefaultTableModel { public RelationCostctrTable(Vector< ...

  6. C#获取文件夹下面的所有文件名

    String path = @"X:\xxx\xxx";   //第一种方法 var files = Directory.GetFiles(path, "*.txt&qu ...

  7. 移动APP测试入手点

  8. Spring Boot实现邮件服务,附常见邮箱的配置

    1. pom.xml文件中引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <art ...

  9. Win7 VS2017编译magnum及例子

    magnum是一个开源的图形中间件 Lightweight and modular C++11/C++14 graphics middleware for games and data visuali ...

  10. appium 1.6.x版本去除安装Unlock、Setting

    (appium目录不知道可以查看appium运行日志) 修改目录/usr/local/lib/node_modules/appium/node_modules/appium-android-drive ...