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

【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 类的

1.7K10

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:按比例扩大或缩小到ImageView的ImageView的高度,居中显示 fitEnd:按比例扩大(缩小)到ImageView的高度,显示在ImageView...的下部分位置 fitStart:按比例扩大(缩小)到ImageView的高度,显示在ImageView的上部分位置 fitXY:不保持原比例,填满ImageView center:按比例扩大或缩小到ImageView...tint.png android:tint="#22FF4081" ---- 五、最重要的要数设置图片了 1.xml设置图片 android:src="@mipmap/iv_50x40" 2.代码中设置

    78120

    从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

    37610

    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问题。

    42930

    Android 侧滑抽屉菜单

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

    4K31

    Android 矢量图详解

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

    1.1K30

    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

    47440

    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"需写在三个子Activity的xml布局文件中,这样设置后仍然有问题,就是进入应用后首页也就是Tab1Activity没有问题,而Tab2Activity

    1.8K60
    领券