三、代码中使用 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) } }
运行效果 : 第一张图片设置成了 绿色 ;
四、参考资料
博客资源 :
GitHub 项目源码 : https://github.com/han1202012/SVG
下载地址 : https://download.csdn.net/download/han1202012/18560112