首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android imageview在xml中设置的tint以编程方式覆盖了在DrawableCompat上设置的tint

Android ImageView是用于显示图像的UI组件。它可以在XML布局文件中设置tint属性来改变图像的颜色。当在XML中设置了tint属性后,可以通过编程方式覆盖这个设置。

在编程中,可以使用ImageView的setColorFilter方法来覆盖在DrawableCompat上设置的tint。该方法接受一个颜色值和一个PorterDuff.Mode参数,用于指定颜色过滤器的颜色和混合模式。

以下是一个示例代码,展示如何使用编程方式覆盖ImageView中设置的tint:

代码语言:java
复制
ImageView imageView = findViewById(R.id.imageView);
Drawable drawable = imageView.getDrawable();
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable, Color.RED);
imageView.setImageDrawable(drawable);

在上面的代码中,我们首先获取ImageView中的Drawable对象。然后使用DrawableCompat.wrap方法将其包装为可兼容的Drawable对象。接下来,使用DrawableCompat.setTint方法将颜色设置为红色。最后,使用setImageDrawable方法将修改后的Drawable对象设置回ImageView中。

这样,通过编程方式覆盖了在DrawableCompat上设置的tint。

Android中的tint属性和颜色过滤器可以用于实现一些视觉效果,如改变图像的颜色、添加阴影等。它在许多应用场景中都有用武之地,例如在应用程序中动态改变图像的颜色主题、指示图像的状态等。

腾讯云提供了丰富的云计算产品和服务,其中与图像处理相关的产品包括:

  1. 腾讯云图像处理(Image Processing):提供了一系列图像处理服务,包括图像格式转换、缩放、裁剪、滤镜、水印等功能。详情请参考:腾讯云图像处理产品介绍
  2. 腾讯云智能图像(Intelligent Image):提供了图像识别、图像标签、人脸识别、人脸融合等功能,可用于构建人工智能相关的图像处理应用。详情请参考:腾讯云智能图像产品介绍

以上是关于Android ImageView中设置的tint以编程方式覆盖了在DrawableCompat上设置的tint的完善且全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 安装包优化】Tint 着色器 ( 简介 | 布局文件 Tint 着色器基本用法 | 代码中使用 Tint 着色器添加颜色效果 )

可以使图片变色 , 使用该机制可以显示不同颜色图片 ; 给定一个白色图标图片 , 如果要显示不同颜色图片 , 可以直接在 ImageView 设置 android:tint 或 app:tint...着色器效果是将非透明像素点 , 渲染成指定颜色 ; 用法示例 : 布局文件 , ImageView 标签添加属性 app:tint="@color/purple_700" , 即可为其设置一个渲染颜色...="@color/purple_700" app:srcCompat="@drawable/ic_plane"/> 二、布局文件 Tint 着色器基本用法 ---- Tint 基本用法就是...ImageView 组件添加 app:tint 属性 , 为其设置一个颜色值属性值即可 ; 布局文件示例 : <?...Tint 颜色值 ; 三、代码中使用 Tint 着色器添加颜色效果 ---- 代码 , 通过调用 androidx.core.graphics.drawable.DrawableCompat

1K10

Android高级开发-APK极致优化

SVG是由XML定义,标准SVG根节点是Android通过Vector实现支持,根节点是 ? ? ?...Tint着色器 yifeng.studio/2017/03/30/… 自 API 21 (Android L)开始,Android SDK 引入 tint 着色器,可以随意改变安卓项目中图标或者 View..., Color.parseColor("#00ff00")); ImageView backTintImg = (ImageView)findViewById(R.id.tint); backTintImg.setImageDrawable...资源打包配置 Android Gradle还为我们 提供了一个resConfigs,它属于ProductFlavor一个方法,可以让我们配置哪些类型资源才被打包到Apk,比如只有中文,只有hdpi...资源压缩 developer.android.google.cn/studio/buil… gradle属性 shrinkResources 对无用资源压缩 将无用图片改成占位图,无用xml改成空根文件

1.2K40

Android控件之ImageView

零、前言 1.ImageView地位:直接继承自View,安卓源码1600+,算是个小类,但图片显示基本都用它 2.scaleType有点小烦,不过看图还是挺清晰 3.cropToPadding...、adjustViewBounds、tint 4.图片设置 源码ImageView自定义属性: * @attr ref android.R.styleable#ImageView_adjustViewBounds...高度,显示ImageView下部分位置 fitStart:按比例扩大(缩小)到ImageView高度,显示ImageView上部分位置 fitXY:不保持原比例,填满ImageView center...tint覆盖色:最好有透明度颜色,不然图片就全盖住了 [tint.png] android:tint="#22FF4081" --- 五、最重要要数设置图片了 1.xml设置图片 android:src...="@mipmap/iv_50x40" 2.代码设置 Drawable和Bitmap都是安卓图片显示和处理重要类,以后会详细论述。

1K00

3-VIV-Android控件之ImageView

零、前言 [1].ImageView地位:直接继承自View,安卓源码1600+,算是个小类,但图片显示基本都用它 [2].scaleType有点小烦,不过看图还是挺清晰 [3].cropToPadding...、adjustViewBounds、tint [4].图片设置 源码ImageView自定义属性: * @attr ref android.R.styleable#ImageView_adjustViewBounds...ImageView裁剪类型.gif fitCenter:按比例扩大或缩小到ImageViewImageView高度,居中显示 fitEnd:按比例扩大(缩小)到ImageView高度,显示ImageView...下部分位置 fitStart:按比例扩大(缩小)到ImageView高度,显示ImageView上部分位置 fitXY:不保持原比例,填满ImageView center:按比例扩大或缩小到ImageView...tint.png android:tint="#22FF4081" ---- 五、最重要要数设置图片了 1.xml设置图片 android:src="@mipmap/iv_50x40" 2.代码设置

75320

从400多k大小减到了2B,我APP是怎么优化

,用户体验还是很不好,下面我们就来整理一下 Android apk 优化方法 一、icon 图标使用 svg 我们App中会有很多icon,而且美工小姐姐一般都是成套给,所以我们res文件可能需要放入多套...icon,这样一来就会使我们apk文件体积变得非常大了,所以,优化第一步就从icon 处理开始. icon 尽量使用svg 文件,而不要使用png文件 首先 svg 文件是以xml文件方式存在...wrap_content" /> 二、icon状态区分使用 Tint 着色器 Tint着色器能够实现图片变色 ,利用Tint显示不同颜色图片 ,原本需要多张相同图片不同颜色情况,能够减少...apk体积 UI效果如下: 注意了,这是同一张图片不同效果 使用如下: 加上一行代码 android:tint="@color/colorAccent" <ImageView...但400多k大小变成了2B 六、资源打包设置 由于第三方库引入,如appcompat-v7引入库包含了大量国际化资源,可根据自身业务进行相应保留和删除 原始包如下: 原始包存在各国语言,所以我们一般只需要保留中文即可

1.3K40

C#,如何以编程方式设置 Excel 单元格样式

前言 C#开发,处理Excel文件是一项常见任务。...和 VerticalAlignment 属性编程方式对齐文本,如下所示: worksheet.Range["A1"].HorizontalAlignment = HorizontalAlignment.Center...RichText 控件 GcExcel 支持单元格应用富文本格式。富文本格式允许使用不同颜色、字体、效果(粗体、下划线、双下划线、删除线、下标、上标)等单元格设置文本样式。... Excel ,若要在单元格包含富文本,请在编辑模式下输入单元格,然后选择文本一部分应用单独格式,如下所示: 使用 GcExcel,可以使用 IRichText 和 ITextRun 对象配置...借助 GcExcel,可以使用工作簿 Styles 集合编程方式将这些快速样式应用于单元格或单元格区域,并将其作为值提供给 IRange.Style 属性,如下所示: worksheet.Range

20610

Android ImageView分析并展开

= a.getInt(com.android.internal.R.styleable.ImageView_tint, 0); if (tint !...我们xml文件里设置ImageView时候,假设指定了固定宽高,那么onMeasur()方法測量大小就是固定宽高大小;假设是包裹内容,那么就须要进一步计算。...然后是一个if推断,mAdjustViewBounds作为推断变量,它是setAdjustViewBounds方法设置,默觉得false,所以必须设置为true,这个推断才会运行。...当然这个变量值也能够xml文件里设置android:adjustViewBounds)。 那这种方法是做什么用呢?...或者也能够xml文件里设置。 可是这样直接使用会有一个隐形弊端,假设显示图片过多或者单张显示图片像素过大,就easy出现OOM问题。

39830

Android 侧滑抽屉菜单

这里START和布局start是要对应,如果你不对应就会报错,那么下面运行一下吧。 ? 嗯,这个效果是有了,但是感觉比较丑,那么来美化一下吧。...不过屏幕顶部还是有那个很丑状态栏,因此我们还需要美化一下。 MainActivity增加一个方法来设置状态栏透明。...然后onCreate调用这个方法。 ? 然后你还需要在activity_main.xml中去设置可以显示需要显示状态栏布局。...通过item位置来获取图标数组图标,然后设置ImageVIew,这样写是有弊端,当你数据条目和图标数组长度不一致时,就会出现数组越界,然后就报错崩溃,程序闪退,因此实际不会采取这种方式...styles.xml增加一个item字体大小设置 <!

3.8K31

Android 矢量图详解

VectorDrawble 是 xml 文件定义矢量图形。xml 文件定义矢量图形,它是一组带有颜色信息点、线和曲线,使用矢量图主要优点是图形可伸缩性。...而我们 VectorDrawable 是编程,它仅支持 SVG 规范中有限内容。Android Studio 支持将 SVG 文件转换成 VectorDrawable 。...(定义矢量图视图高度,实际就是对应 path 路径所使用数据) androidtint(定义该 drawble 线条颜色,定义了后,你再在路径里面设置颜色就没有作用了)...android:strokeLineJoin 设置路径交界处连接方式,取值为 miter、round、bevel 默认是 miter android:strokeMiterLimit...设置斜角上界 默认是 4 (当 strokeLineJoin 设置为 "miter" 时候,绘制两条线段锐角相交时候,所得斜面可能相当长,当斜面太长,就会变不协调。

1.1K30

android自定义状态栏颜色

我们知道IOS应用,状态栏颜色总能与应用标题栏颜色保持一致,用户体验很不错,那安卓是否可以呢?...实现此功能有两种方法: 1.xml设置主题或自定义style; Theme.Holo.Light.NoActionBar.TranslucentDecor   Theme.Holo.NoActionBar.TranslucentDecor...SDK各种版本,不建议采用这种方法; 2.代码控制; 可以首先创建一个BaseActivity,onCreate方法中进行处理: @Override   protected void ...貌似已经达到效果了,但仔细观察,好像标题栏被提上去了,就是说APP界面全屏了,状态了盖了APP,恩,这并非我们想要效果,那如何将界面从状态栏下部开始呢,只需要在Activity布局文件最外层控件加上一个属性... android:fitsSystemWindows="true"需写在三个子Activityxml布局文件,这样设置后仍然有问题,就是进入应用后首页也就是Tab1Activity没有问题,而Tab2Activity

1.7K60

AppCompat v23.2  -- Vectors时代

如果你没有启用这个标志,当你KitKat运行你APP你会看到以下(或者类似)错误: Caused by: android.content.res.Resources$NotFoundException...api7+有两种使用矢量图方法: AppCompatImageView AppCompat“injects”代替了许多框架组件。...:viewportHeight="24.0" android:tint="?...规则仅仅是矢量图需要在一个分离文件。 矢量动画是什么? 到目前为止我们仅仅讨论了“static”矢量图,所以让我们谈谈矢量动画。他们用同样方式工作,但是他们仅仅在api 11+可用。...目前没有方法Android平台使用从资源自定义绘制实现,所以下面这样是不可以: res/drawable/my_awesome_drawable.xml <my.package.SuperAwesomeDrawable

44640
领券