java代码编写shape文件和状态选择器

java代码编写shape文件和状态选择器
   
   
  1. //获取一个shape对象
  2. public static GradientDrawable getGradientDrawable(int color, int radius) {
  3. // xml中定义的shape标签 对应此类
  4. GradientDrawable shape = new GradientDrawable();
  5. shape.setShape(GradientDrawable.RECTANGLE);// 矩形
  6. shape.setCornerRadius(radius);// 圆角半径
  7. shape.setColor(color);// 颜色
  8. return shape;
  9. }
  10. //获取状态选择器
  11. public static StateListDrawable getSelector(Drawable normal, Drawable press) {
  12. StateListDrawable selector = new StateListDrawable();
  13. selector.addState(new int[] { android.R.attr.state_pressed }, press);// 按下图片
  14. selector.addState(new int[] {}, normal);// 默认图片
  15. return selector;
  16. }
  17. //获取状态选择器
  18. public static StateListDrawable getSelector(int normal, int press, int radius) {
  19. GradientDrawable bgNormal = getGradientDrawable(normal, radius);
  20. GradientDrawable bgPress = getGradientDrawable(press, radius);
  21. StateListDrawable selector = getSelector(bgNormal, bgPress);
  22. return selector;
  23. }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值