当前位置: 首页 > news >正文

Android设置文字颜色渐变

项目中用到了很多文字颜色渐变的设计,因此做一下记录。

核心代码如下:

/*** 统一文字渐变色设置* @param colors 渐变色字符串数组* @param positions 渐变色位置数组,可为空* @param start 渐变起始点,可为空* @param end 渐变结束点,可为空* @param tile 渐变模式,默认为CLAMP*/
fun TextView.setGradientColor(colors: Array<String>,positions: FloatArray? = null,start: PointF? = null,end: PointF? = null,tile: Shader.TileMode = Shader.TileMode.CLAMP
) {post {val intColors = colors.map {Color.parseColor(it)}.toIntArray()val gradient = LinearGradient(start?.x ?: paddingStart.toFloat(),start?.y ?: 0F,end?.x ?: measuredWidth.toFloat() - paddingEnd,end?.y ?: 0F,intColors,positions,tile)paint.shader = gradientinvalidate()}
}

对应的xml中TextView如下:

  <androidx.appcompat.widget.AppCompatTextViewandroid:id="@+id/tvHello"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World"android:textColor="#FFC791"android:textSize="16dp"android:textStyle="bold"/>

如何使用:

 tvHello.setGradientColor(arrayOf("#FFECC6", "#FFC791"))

特别注意:必须设置android:textColor属性颜色值,否则不会产生预期效果

感谢大家的支持,如有错误请指正,如需转载请标明原文出处!

http://www.lryc.cn/news/249521.html

相关文章:

  • java基础面试题(二)
  • php爬虫实现把目标页面变成自己的网站页面
  • [c语言c++]手写你自己的swap交换函数
  • 技术类知识汇总(二)
  • 简单好用!日常写给 ChatGPT 的几个提示词技巧
  • pytorch分布式训练
  • 【PyTorch】(三)模型的创建、参数初始化、保存和加载
  • 高效开发之:判断复杂list中的对象属性是否包含某个值
  • MacOS + Android Studio 通过 USB 数据线真机调试
  • 部署jekins遇到的问题
  • SQLY优化
  • 设计模式——行为型模式(一)
  • Rust语言入门教程(六) - 字符串类型
  • 【MATLAB源码-第92期】基于simulink的QPSK调制解调仿真,采用相干解调对比原始信号和解调信号。
  • 关于C语言控制浮点数输出精度问题
  • 【Linux 静态IP配置】
  • 【Linux 操作系统配置 SFTP】
  • 信贷专员简历模板
  • Python自动化测试面试经典题
  • java+springboot物流管理系统设计与实现wl-ssmj+jsp
  • 概念理论类-k8s :架构篇
  • window10家庭版中文转专业版流程
  • Chrome显示分享按钮
  • GPTS-生成一个动漫图像GPT
  • 在gazebo里搭建一个livox mid360 + 惯导仿真平台测试 FAST-LIO2
  • SpringMVC文件下载
  • 前端项目打包放到springboot项目时,访问不带index.html
  • Tomcat注册为服务后,如何配置Tomcat内存大小
  • C语言入门实战教程——嵌入式必备教程(2023年版最全最新整理)
  • Chatbot开发三剑客:LLAMA、LangChain和Python