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属性颜色值,否则不会产生预期效果
感谢大家的支持,如有错误请指正,如需转载请标明原文出处!
相关文章:
Android设置文字颜色渐变
项目中用到了很多文字颜色渐变的设计,因此做一下记录。 核心代码如下: /*** 统一文字渐变色设置* param colors 渐变色字符串数组* param positions 渐变色位置数组,可为空* param start 渐变起始点,可为空* param end 渐变结束…...
java基础面试题(二)
java后端面试题大全 3.JVM3.1 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置?3.2 java类的加载流程3.3 java内存溢出什么时候会发生以及解决方法 3.JVM 3.1 对象实例、类信息、常量、静态变量分别在运行时数据区的哪个位置? 堆 对象实例、String常量池、基…...
php爬虫实现把目标页面变成自己的网站页面
最近又被烦的不行,琐事不断,要是比起懒来一个人比一个人懒,但是懒要转换成动力啊,能让自己真正的偷懒,而不是浪费时间。每天还是需要不断的学习的,才能更好的提高效率,把之前做的简单小功能爬虫…...
[c语言c++]手写你自己的swap交换函数
函数传参有按值传递,指针传递,引用传递,分别看一下三种情况下的交换函数如何书写,应该使用哪种最方便。 当书写一个交换两个值的 swap 函数时,我们可以分别使用按值传参、指针传参和引用传参的方式来实现。下面是示例和…...
技术类知识汇总(二)
在自己日常学习javaweb的过程中,做的一些笔记和总结,汇总如下: Springboot项目的静态资源(html,css,js等前端资源)默认存放目录为:classpath:/static classpath:/public classpath:/resources"三层架…...
简单好用!日常写给 ChatGPT 的几个提示词技巧
ChatGPT 很强,但是有时候又显得很蠢,下面是使用 GPT4 的一个实例: 技巧一:三重冒号 """ 引用内容使用三重冒号 """,让 ChatGPT 清晰引用的内容: 技巧二:角色设定…...
pytorch分布式训练
1 基本概念 rank:进程号,在多进程上下文中,我们通常假定rank 0是第一个进程或者主进程,其它进程分别具有1,2,3不同rank号,这样总共具有4个进程 node:物理节点,可以是一个…...
【PyTorch】(三)模型的创建、参数初始化、保存和加载
文章目录 1. 模型的创建1.1. 创建方法1.1.1. 通过使用模型组件1.1.2. 通过继承nn.Module类 1.2. 模型组件1.2.1. 网络层1.2.2. 函数包1.2.3. 容器 1.3. 将模型转移到GPU 2. 模型参数初始化3. 模型的保存与加载3.1. 只保存参数3.2. 保存模型和参数 1. 模型的创建 1.1. 创建方法…...
高效开发之:判断复杂list中的对象属性是否包含某个值
技术使用:使用了Java 8引入的Stream API以及Optional类。这些特性用于简化集合的处理和减少空指针异常。 List<ResourceInfoDto> authData chatBase.getData();String baseName dto.getBaseName();Optional<ResourceInfoDto> authWithResourceCode a…...
MacOS + Android Studio 通过 USB 数据线真机调试
环境:Apple M1 MacOS Sonoma 14.1.1 软件:Android Studio Giraffe | 2022.3.1 Patch 3 设备:小米10 Android 13 一、创建测试项目 安卓 HelloWorld 项目: 安卓 HelloWorld 项目 二、数据线连接手机 1. 手机开启开发者模式 参考࿱…...
部署jekins遇到的问题
jdk问题 我用的jdk版本是21的结果版本太新了,启动jekins服务的时候总是报错最后在jekins的安装目录下面的jekinsErr.log查看日志发现是jdk问题最后换了一个17版本的就解决了。 unity和jekins jekins和Git源码管理 jekins和Git联动使用 我想让jekins每次打包的时…...
SQLY优化
insert优化 1.批量插入 手动事务提交 主键顺序插入,主键顺序插入性能高于乱序插入 2.大批量插入数据 如果一次性需要插入大批量数据,使用Insert语句插入性能较低,此时可以使用MYSQL数据库提供的load指令进行插入 主键优化 主键设计原则 …...
设计模式——行为型模式(一)
行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合在对象间分配行…...
Rust语言入门教程(六) - 字符串类型
在Rust中, 字符串类型其实是一个比较复杂的话题。在Rust的标准库中,至少都提供了6种字符串类型,我们平常使用的最多的是其中的两种。这两种类型互相之间也有所关联: str: 字符串切片String 字符串 其中, 字…...
【MATLAB源码-第92期】基于simulink的QPSK调制解调仿真,采用相干解调对比原始信号和解调信号。
操作环境: MATLAB 2022a 1、算法描述 QPSK,有时也称作四位元PSK、四相位PSK、4-PSK,在坐标图上看是圆上四个对称的点。通过四个相位,QPSK可以编码2位元符号。图中采用格雷码来达到最小位元错误率(BER) —…...
关于C语言控制浮点数输出精度问题
众所周知 C语言在控制一个浮点数输出精度的时候是在%和f之间加上一个.(想要控制的精度) 如:printf("%.2f", num); 问,试问:(你就是我的御主吗?)如果输出的精度是根据输入的数字变化的怎么办&am…...
【Linux 静态IP配置】
静态IP配置 1.NAT模式设置2.设置静态ip3.重启网络4.查看ip 1.NAT模式设置 首先设置虚拟机中NAT模式的选项,打开VMware,点击“编辑”下的“虚拟网络编辑器”,设置NAT参数 注意: VMware Network Adapter VMnet8保证是启用状态 …...
【Linux 操作系统配置 SFTP】
Linux 操作系统配置 SFTP sftp采用的是ssh加密隧道,安装性方面较ftp强,而且依赖的是系统自带的ssh服务,不像ftp还需要额外的进行安装基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管…...
信贷专员简历模板
这份简历内容,以信贷专员招聘需求为背景,我们制作了1份全面、专业且具有参考价值的简历案例,大家可以灵活借鉴。 信贷专员简历在线编辑下载:百度幻主简历 求职意向 求职类型:全职 意向岗位:信贷专员 …...
Python自动化测试面试经典题
相信大家经历过许多面试都会有这样的感受:好不容易通过了 2 -3轮技术面试,但是薪资不够理想;要么被面试的测试专家虐的不要不要的。但每一次的面试也能让自己认识到不足之处,这样才有利于后续拿到理想的offer。 牛鹭学院的学子对…...
利用 Taotoken 模型广场为你的智能客服场景选择最合适的大模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用 Taotoken 模型广场为你的智能客服场景选择最合适的大模型 智能客服是当前大模型技术落地最广泛的场景之一。无论是处理售前咨…...
华硕笔记本G-Helper显示管理全攻略:从色彩异常到专业校准的5步解决方案
华硕笔记本G-Helper显示管理全攻略:从色彩异常到专业校准的5步解决方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivob…...
CV产线MLOps平台:图像原生处理与硬件感知交付
1. 项目概述:这不是又一个“模型训练平台”,而是一套能真正跑通CV产线的MLOps工作流“Streamline Your Computer Vision Stack with an End-to-End MLOps Platform”——这个标题里藏着三个被太多团队长期忽视的关键事实:第一,“C…...
零基础30天掌握渗透测试实战路径
1. 别被“渗透测试”四个字吓住:它本质是“合法授权的系统体检”很多人第一次看到“渗透测试”这个词,脑子里立刻浮现出黑客电影里飞速滚动的代码、黑底绿字的终端、戴着兜帽在咖啡馆敲键盘的神秘人——这种刻板印象害了不少想入门的朋友。我带过三十多个…...
从零开始掌握ShiroAttack2:5步搞定Shiro反序列化漏洞利用
从零开始掌握ShiroAttack2:5步搞定Shiro反序列化漏洞利用 【免费下载链接】ShiroAttack2 shiro反序列化漏洞综合利用,包含(回显执行命令/注入内存马)修复原版中NoCC的问题 https://github.com/j1anFen/shiro_attack 项目地址: https://gitc…...
嵌入式工程师避坑指南:手把手调试OV9281等MIPI摄像头Sensor(从DTS配置到示波器抓波形)
嵌入式工程师实战:OV9281 MIPI摄像头Sensor深度调试手册 当你在全志T507开发板上第一次点亮OV9281摄像头时,示波器上那个200mV的HS模式波形,可能比任何文档都更能让你理解MIPI的工作本质。这不是一篇按部就班的配置教程,而是一位经…...
终极免费方案:cursor-vip完全指南,让AI编程助手触手可及
终极免费方案:cursor-vip完全指南,让AI编程助手触手可及 【免费下载链接】cursor-vip cursor IDE enjoy VIP 项目地址: https://gitcode.com/gh_mirrors/cu/cursor-vip 你是否为高昂的AI编程助手订阅费而苦恼?cursor-vip为你提供了一套…...
【AI Agent医疗落地实战指南】:20年三甲医院IT总监亲授5大不可绕过的合规雷区与3步部署法
更多请点击: https://intelliparadigm.com 第一章:AI Agent医疗落地的战略价值与时代必然性 当全球医疗系统持续面临医生资源紧张、基层诊疗能力不均、慢性病管理低效与患者依从性不足等结构性挑战时,AI Agent已不再仅是技术演进的选项&…...
【2026年世界模型最全综述】:从开山之作到Sora与Genie 3
论文信息 标题:Understanding World or Predicting Future? A Comprehensive Surveyof World Models会议:ACM Computing Surveys 2026(计算机领域顶级综述期刊)单位:清华大学FIB-Lab代码:https://github.c…...
Proteus 8.17安装超详细教程 保姆级教程【附安装包】
电子设计小伙伴们!今天我给大家带来一篇超详细的Proteus 8.17专业版安装教程 !这可是电子工程师和学生党的福音啊!作为PCB设计和单片机仿真的神器,Proteus绝对是你玩转电子设计必备的利器!不会安装?别担心&…...
