Java一行代码控制shape 优雅的解决 Drawable Shape 文件繁多问题

1. 前言

我们知道开发中很多图片可以用 shape 代替,但是当项目过大,功能增多,我们会发现 Drawable 文件夹下面的 .xml 文件越来越多,比如下


这里写图片描述

我们会发现,很多文件都类似,只是颜色 大小等不一样而已,所以每次碰到用到 shape 的地方还得新建 shape .xml 。这样既麻烦并且会造成 drawable .xml文件过多。
所以我希望项目中只建立几个典型常用的 shape 种类,然后通过 java 代码控制颜色或者大小、倒角、渐变方向颜色。

我抽取了几个项目中常用的 shape 样式,分别

  • 纯矩形纯色。【rect+solid】,可以修改颜色
  • 倒角矩形纯色。【rect+solid+corner,可以修改矩形颜色和倒角大小
  • 倒角矩形描边纯色。【rect+solid+corner+stroke】,可以修改矩形颜色,倒圆角大小,描边颜色和大小
  • 矩形渐变。【rect+gradient】矩形线性渐变,可以修改渐变颜色及顺序

做了个demo效果如下


这里写图片描述


2.代码

拿上面demo举例,将上面四个经典常用的 shape 建立出来,都比较简单,只贴 bg_rect_corner_stroke

这里写图片描述

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"
    >
    <solid android:color="@android:color/holo_blue_dark" />
    <corners android:radius="6dp" />
    <stroke
        android:color="@android:color/holo_orange_dark"
        android:width="1.5dp" />
</shape>

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值