且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-01-22 05:09:05

三、代码中使用 Tint 着色器添加颜色效果


在代码中 , 通过调用 androidx.core.graphics.drawable.DrawableCompat 类的 setTint 静态方法 , 为 Drawable 类型的图片设置一个颜色值 , 首先要获取 Drawable 图片 , 然后通过 DrawableCompat 为其设置 Tint 着色效果 ;


     

// 获取图片
        var drawable: Drawable = resources.getDrawable(R.drawable.ic_plane)
        // 设置图片为绿色
        DrawableCompat.setTint(drawable, Color.GREEN)



代码示例 :


package kim.hsl.svg
import android.graphics.Color
import android.graphics.drawable.Drawable
import android.os.Bundle
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.graphics.drawable.DrawableCompat
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        // 获取图片
        var drawable: Drawable = resources.getDrawable(R.drawable.ic_plane)
        // 设置图片为绿色
        DrawableCompat.setTint(drawable, Color.GREEN)
        // 设置绿色图片
        findViewById<ImageView>(R.id.first_image).setImageDrawable(drawable)
    }
}


运行效果 : 第一张图片设置成了 绿色 ;




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




四、参考资料



博客资源 :


GitHub 项目源码 : https://github.com/han1202012/SVG


下载地址 : https://download.csdn.net/download/han1202012/18560112