TINT简单使用(转来记录)

使用Material Design Tint和视图详解 视图首先来讲Material Design 视图的概念,在新的api中,新添加了z轴的概念,z轴垂直于屏幕,用来表现元素的层叠关系,z值(海拔高度)越高,元素离界面底层(水平面)越远,投影越重,这里有一个前提,所有的元素的厚度都是1dp。 Material Design中UI主打扁平化,但是这种扁平化是扁而不平,是对现实的拟物扁平化,所以引入z轴空间的概念,即所有元素都有默认的海拔高度,对它进行 阅读详情

1.在xml中设置tint和tintMode实现对图片的着色,它通过修改图形的Alpha遮罩来修改图像的颜色,从而达到重新着色的目的

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:src="@mipmap/icon_head" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="10dp"
        android:src="@mipmap/icon_head"
        //此处为设置新颜色
        android:tint="#FF4081" />
</LinearLayout>

2.利用DrawableCompat对图片进行动态颜色渲染

package com.per.tintdome;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.v4.content.ContextCompat;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.widget.ImageView;

public class MainActivity extends Activity {
    private ImageView imageView1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView1 = (ImageView) findViewById(R.id.image1);
        //利用ContextCompat工具类获取drawable图片资源
        Drawable drawable = ContextCompat.getDrawable(this, R.mipmap.icon_head);
        //简单的使用tint改变drawable颜色
        Drawable drawable1 = tintDrawable(drawable,ContextCompat.getColor(this, R.color.colorAccent));
        imageView1.setImageDrawable(drawable1);
    }

    public static Drawable tintDrawable(Drawable drawable, int colors) {
        final Drawable wrappedDrawable = DrawableCompat.wrap(drawable).mutate();
        DrawableCompat.setTint(wrappedDrawable, colors);
        return wrappedDrawable;
    }
}

 

android:tint android:tint属性的应用,是在代码中动态设置的,可以实现类似背景选择器的效果,但是用一张图片就可以实现背景选择器的效果。 立即下载

相关推荐

【HCIE】FRR+BFD+OSPF与BGP联动

FRR+BFD+OSPF与BGP联动

Wenrs的博客 1996

android 5.x—Tinting着色和Clipping裁剪

android 5.x中新添了2个属性可以操作图像,一个是Tinting,另一个是Clipping。1、tintingtinting有2个属性,分别是tint和tintMode。其中tint设置着的色调,tintMode设置着色的模式。只需在xml布局中定义tint和tingMode属性值。下面展示不同tintMode展示的效果,xml布局如下:<?xml version="1.0" encodin

Peak1Chen的博客 1328

激光雷达测距方式全解析:ToF、三角测距和FMCW到底怎么选?

本文深度解析激光雷达三种主流测距方式(ToF、三角测距和FMCW)的技术原理、环境适应性和成本模型,提供场景化选型决策指南。通过对比各技术在精度、抗干扰能力和维护成本等方面的表现,帮助工程师在自动驾驶、工业检测和消费电子等领域做出最优选择。

qqq44的博客 719

Android Tint着色器

文章目录Android Tint着色器概述使用XML中使用代码中使用选择器使用tintMode详解 Android Tint着色器 概述 tint 译为着色。tint一般与tintMode配合使用。 同时还有backgroundTint和backgroundTintMode属性(很明显backgroundTint是针对背景色着色,通过实践也证实了backgroundTint只有在为控件设置了background属性才会生效。) tintMode和backgroundTintMode有六种模式: src_i

xiangxiongfly 3579

脑机接口技术介绍、应用与挑战

脑机接口的概念最先于1973年提出,伴随着计算机性能的飞速提高,在美国“人类脑计划”的资金支持下,脑机接口的研究进入了高速发展期。去年年末,我国科技部会议透露:中国将拿出540亿元,推进中国脑计划的发展。同时,这一举措也推动了我国脑机接口的研究发展。 脑机接口属于多学科交叉科技,涉及神经科学、计算机科学、认知科学、控制与信息科学技术、医学等多个学科。技术实现方式是通过信号采集设备从大脑皮层采集脑电信号,经过放大、滤波、A/D转换等处理,转换为可以被计算机识别的信号,然后对信号进行预处理,提取特征信号,再利

weixin_44603934的博客 9132

【QNX+Android虚拟化方案】00 - 系列文章链接汇总

【QNX+Android虚拟化方案】00 - 系列文章链接汇总

|~~~热爱生活、努力学习的小伙汁~~~| 1万+

Android SVG使用之AnimatedVectorDrawable

今日科技快讯 近日有统计机构在北京公布:2016届中国大学毕业生在毕业半年后的就业率为91.6%,这些毕业生平均月收入达到3988元。本科专业中,列在“高薪榜”前五位的专业分别是信息安全(5906元),软件工程(5869元),网络工程(5600元

郭霖 1288

uniapp(全端兼容) - 最新详细实现接入腾讯视频播放器功能插件,uniapp全平台端(小程序/H5网页/App/nvu)调用引入并使用腾讯视频播放组件完整全流程(详细示例源码,一键复制开箱即用)

uniapp腾讯视频,uniapp微信小程序腾讯视频,uniapp小程序接入腾讯视频详细示例教程源码,uniapp怎么在微信小程序平台使用腾讯视频插件,在uni-app中使用腾讯视频插件播放视频,uniapp调用腾讯视频,uniapp引入腾讯视频插件,uniapp小程序中引入腾讯视频无法播放,uniapp微信小程序平台引入腾讯视频播放不了黑屏,在uniapp开发的微信小程序中使用腾讯视频,uniapp如何引入腾讯视频插件播放视频,uni-app小程序平台引入腾讯视频插件播放腾讯视频,uniapp 小程序接入

✅ 精选推荐文章 1万+

Android自定义图形-Shape

1 概述 1.1 编写目的 学习Android自定义图形shape相关的知识,记录下来,方便后续学习及查询。 2 Shape图形 Android上Shape有以下几种属性shape、 corners、 gradient、 padding、size、solid、stroke,其中shape为一级属性,其余为shape子属性,子属性可以选择定义。基本结构如下图:

zqilli的博客 6088

4、基于抽象解释的静态分析器中的跟踪分区与ASTRÉE分析器解析

本博客探讨了基于抽象解释的静态分析器中的跟踪分区技术,并深入解析了ASTRÉE分析器的工作原理和应用。通过示例程序说明了跟踪分区如何提升分析精度,减少误报,以及ASTRÉE如何利用多种数值抽象域(如八角形域、浮点区间线性形式等)来处理复杂的嵌入式C程序。此外,还讨论了ASTRÉE的模块化设计、循环展开优化、用户断言与自动细化的局限性等内容,为保障嵌入式软件的安全性和可靠性提供了理论与实践支持。

kotlin6android的博客 117

YOLOv11 改进 - 注意力机制 | EMA (Efficient Multi-Scale Attention) 高效多尺度注意力:跨空间学习与多分支协同增强特征表征,优化多尺度目标检测

本文介绍了高效多尺度注意力(EMA)模块及其在YOLOv11中的结合应用。现有注意力机制在通道维度缩减时可能影响深度视觉表示,EMA模块通过结合通道和空间信息、采用多尺度并行子网络结构等创新点,实现了高效的多尺度注意力机制。其基本原理包括通道和空间注意力结合、多尺度并行子网络设计等。在多个流行基准数据集上的实验表明,该模块能有效提高特征表示能力。我们将EMA集成进YOLOv11,实验证明改进后的模型在目标检测任务中性能优越,具有广泛应用前景

魔改工程师的博客 1293

浅谈 Android L 的 Tint(着色)

浅谈 Android L 的 Tint(着色)Tint 是什么?Tint 翻译为着色。着色,着什么色呢,和背景有关?当然是着背景的色。当我们开发 App 的时候,如果使用了 Theme.AppCompat 主题的时候,会发现 ActionBar 或者 Toolbar 及相应的控件的颜色会相应的变成我们在 Theme 中设置的 colorPrimary, colorPrimaryDark, color

liz3002的专栏 2473

Rockchip开发系列 - 3.4.GPIO扩展芯片AW95xx和PCA953X(2)

Rockchip开发系列 - 3.3.GPIO扩展芯片AW95xx和PCA953X(2)

fulinux的博客 1000

【pixijs】关于ColorMatrixFilter和tint,记录着色渲染踩坑

本文探讨了使用PIXI.js实现图标状态渲染时遇到的"关闭"和"禁用"状态无法显示的问题。原方案采用ColorMatrixFilter导致资源访问异常,控制台报错"null is not an object"。作者尝试优化资源管理和异步渲染未果后,转而采用更简单的tint着色方案,通过直接叠加暗色实现褪色效果。最终方案不仅解决了渲染问题,还提升了性能表现,并总结了tint着色与ColorMatrixFilter各自的适用场景:前者适合简单变色和性能敏感场景,后者适用于复杂的色彩效果调整。

芳草萋萋鹦鹉洲哦 210

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Unity UI动态变色:基于Selectable与Color Tint的悬停交互实现

在UI/UX设计中,动态视觉反馈是提升用户体验的关键技术,其核心原理是通过状态机管理界面元素的交互响应。Unity引擎的UGUI系统内置了完善的交互状态机,通过Selectable组件及其Color Tint过渡功能,开发者能以高性能的方式实现平滑的状态颜色切换。这项技术对于构建直观、响应迅速的界面至关重要,广泛应用于游戏菜单、应用按钮、可交互文本等场景。本文聚焦于Unity中文本元素的鼠标悬停变色效果,深入解析如何利用Selectable的状态机与Color Tint原理,实现零动画控制器、易维护的动态变

dianxiangong2403的博客 300

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

俄罗斯方块linux服务器,安装Tint以在Linux终端下玩俄罗斯方块

如果你想在Linux终端(Linux命令行)下玩俄罗斯方块游戏,那就安装Tint,它可以满足你的需求。Tint尝试尽可能地转向原始游戏,但有一些显着的差异,例如下一个区块没有预览,并且暂停游戏没有选项,播放屏幕会记录你的分数,包括你制作的线数,还有一个统计部分,计算掉落的特定tetronimoes的数量。Tint的一个缺点是不允许你使用键盘的箭头键来旋转或加速块,只能重新定位。安装Tint下图是游...

weixin_35520863的博客 935

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

推荐项目:tint - 让你的日志焕发彩虹般色彩的Go语言库

--- ## 项目介绍 ???? **tint** 是一个为 Go 语言的日志处理带来活力的开源项目。它作为一个零依赖的 `slog.Handler`,专注于为你的应用日志添上一抹色彩。受到 `zerolog.ConsoleWriter` 和 `slog.TextHandler` 的启发,tint 提供了定制化的日志输出格式,让你在查看日志时能迅速区分不同级别的信息,提升开发和运维效率。 ```...

gitblog_00658的博客 1056

android中浅蓝色代码,浅谈 Android L 的 Tint(着色)

浅谈 Android L 的 Tint(着色)Tint 是什么?Tint 翻译为着色。着色,着什么色呢,和背景有关?当然是着背景的色。当我们开发 App 的时候,如果使用了 Theme.AppCompat 主题的时候,会发现 ActionBar 或者 Toolbar 及相应的控件的颜色会相应的变成我们在 Theme 中设置的 colorPrimary, colorPrimaryDark, colo...

weixin_39969448的博客 908

php主题授权,Tint主题授权相关说明

Tint主题授权相关说明2017/1/18更新增加ZendGurad加密为了适配更多的主机环境,目前新增了ZendGuard加密授权的版本,适用于PHP5.3和PHP5.4的环境,一些默认包含了Zend Guard Loader的虚拟主机如万网主机等可以直接使用Tint主题了。目前Tint主题的核心源码采用了PHP动态扩展加密解密,在发布的一定周期内将维持这种模式,包括我个人的服务器均采用了这种源...

weixin_42510053的博客 355

谈谈Android Material Design 中的Tint(着色)

什么是Tint 当我开始接触Tint这个词的时候,其实是蛮不理解它的意思的,以及并不清楚Google发明它的目的,它一般搭配Background配合使用,但是现在已经有了Background,为什么还需要Tint呢? Tint 翻译为着色。 着色,着什么色呢?和背景有关,当然是着背景的色。当我开发客户端,使用了appcompat-v7包的时候,为了实现Material D

飞翔的熊blabla 679

Android使用Tint,只用一张图片显示不同状态下的颜色

为了使apk体积尽量的小,使用Tint(着色器)就可以使用一张图片设置不同的颜色。自己记录一下,以方便查阅。修改图片的背景颜色:view.setBackgroundDrawable(tintDrawable(drawable,ColorStateList.valueOf(Color.WHITE)));public static Drawable tintDrawable(Drawable drawa

nextdarkhorse的专栏 1155

【亲测免费】 推荐一款开源的Web浏览器 - Tint Browser

推荐一款开源的Web浏览器 - Tint Browser 一、什么是Tint Browser? Tint Browser是一款基于Chromium内核的开源Web浏览器,由开发者Anasthase开发并维护。该浏览器的特点是轻量级、简洁易用,并且可以自定义设置,满足用户的个性化需求。 二、Tint Browser能用来做什么? Tint Browser可以用来浏览网页、搜索信息、观看视频等。它支持...

gitblog_00007的博客 1199

谈谈 Android Material Design 中的 Tint(着色)

关注微信号:javalearns   随时随地学Java 或扫一扫 随时随地学Java 什么是Tint 当我开始接触Tint这个词的时候,其实是蛮不理解它的意思的,以及并不清楚Google发明它的目的,它一般搭配Background配合使用,但是现在已经有了Background,为什么还需要Tint呢? Tint 翻译为着色。

201
上一篇: 堆栈存放什么
下一篇: EditText改变光标颜色
Lin_XiJun
博客等级 码龄9年 3粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值