我做了几年安卓了,估计对ImageView的理解不深,最近把代码迁移到AndroidX,且适配Q的深色模式遇到了个问题:如果在不同的主题中使用不同的图片? 刚开始我以为就像颜色适配这个简单,新增一个目录xxhdpi-night,然后把深色模式使用的图片放到这个目录下就行了。结果发现AS报错,不能建这个目录。然后搜索了想图片着色相关的代码,发现ImageView自带的属性tint可以给图片上色。
上代码
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tint="?attr/colorSecondary"
app:srcCompat="@mipmap/title_icon_right" />
这样就可以给图片着色,在深色模式和亮色模式下使用不同的颜色给图片着色,就可以清楚看清图片【我的图片是透明背景的】
做个笔记。