我是靠谱客的博主 轻松太阳,这篇文章主要介绍android 圆角边框边框渐变,支持边框、圆角、渐变色、透明度的GradientButton,现在分享给大家,希望可以做个参考。

最近在项目中发现好多Button背景颜色相同,但圆角大小不等的Button,这样就得写一大堆的shape或者selector,不便于管理及后期维护,于是乎变想能不能写一个支持边框、圆角、渐变色、透明度的万用Button呢。为了能够兼容button自带的属性,当然继承自AppCompatButton是最好的,剩下的就需要考虑selector各状态在我们自定义Button中怎么获取与渲染了。最开始想到,自己draw?不过这样有点low,需要我们处理一大堆的状态,譬如:state_pressed、state_enabled...

那有没有更好的实现方式呢?我们把这些状态交由系统管理呢?在一顿寻找后,发现还真有呢,真是踏破铁鞋无觅处,得来全不费工夫--------GradientDrawable,没错就是它,一个Drawable的子类。我们看看它的描叙:

A Drawable with a color gradient for buttons, backgrounds, etc.

并且通过查看它提供的相应方法,它不仅能替我们管理好各种state,也支持边框绘制、圆角设置,渐变色当然更不用说了,看它的名字就知道啦。好了废话就不多说了,下面就是GradientButton的代码实现过程:

const val TOP_BOTTOM = 0

const val TR_BL = 1

const val RIGHT_LEFT = 2

const val BR_TL = 3

const val BOTTOM_TOP = 4

const val BL_TR = 5

最后

以上就是轻松太阳最近收集整理的关于android 圆角边框边框渐变,支持边框、圆角、渐变色、透明度的GradientButton的全部内容,更多相关android内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(108)

评论列表共有 0 条评论

立即
投稿
返回
顶部