class MTGradientTextView @JvmOverloads constructor(
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = android.R.attr.textViewStyle
) : AppCompatTextView(context, attrs, defStyleAttr) {
private var shader: Shader? = null
override fun onSizeChanged(w: Int, h: Int, oldw: Int, oldh: Int) {
super.onSizeChanged(w, h, oldw, oldh)
// var startColor = 0xFF00FF00.toInt()
// var endColor = 0xFF00FF00.toInt()
var startColor = 0xFFFFFFFF.toInt()
var endColor = 0xFFCEEDFF.toInt()
// 定义渐变的起始点和结束点(从顶部到底部)
shader = LinearGradient(
0f, 0f, 0f, height.toFloat(), intArrayOf(
startColor, // 渐变开始颜色
/* 您可以添加更多颜色以创建复杂的渐变 */
// 例如:Color.RED, Color.YELLOW, Color.GREEN
/* 这里为了简单,只使用两个颜色 */
endColor // 渐变结束颜色(绿色)
), null, Shader.TileMode.CLAMP
)
// 定义渐变的起始点和结束点(从左上角到右下角)
// shader = LinearGradient(
// 0f, 0f, w.toFloat(), h.toFloat(), // 起点 (左上) 到终点 (右下)
// intArrayOf(
// startColor, // 渐变开始颜色
// endColor // 渐变结束颜色
// ),
// null,
// Shader.TileMode.CLAMP
// )
paint.shader = shader
}
渐变TextView
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 背景 在日常开发中经常会遇到各种渐变的TextView,为了加快开发进度就记录下方便以后直接使用。 效果图 实现 ...
- 一、在onLayout时去改变颜色 二、通过自定义onDraw去实现渐变 三、重点代码 通过Paint的Shade...
- /** * 设置textview 的颜色渐变 * @param text */ public void setTe...