简述
在Android 开发中,想必总会有人遇到奇葩的需求,比如颜色值要求通过后台来配置显示。这个时候,通过在drawable 文件夹新建xml 编写shape标签则无法控制颜色值了。于是引出了今天要讲的通过代码自定义shape 设置到我们想要的View中去。
老规矩先上图(思路说完最后再附上写的代码):
视频效果图.gif
先看看我这边主界面简单XML布局
activity_main.png
很简单,就是一个垂直线性布局,里面有两个TextView控件。
通过代码自定义Shape
接下来就来说说如何通过代码设置,最主要的就是通过GradientDrawable控制其相关属性,然后设置到我们的控件中去,来达到我们要的效果。
例如这里简单写一个黑色背景圆角矩形
GradientDrawable drawable = new GradientDrawable();
drawable.setCornerRadius(5);
drawable.setColor( 0xFF000000);
drawable.setStroke(1,0xFF000000);
tv_view.setBackground(drawable);
setCornerRadius(float radius) : 圆角值
setCo