java - Android:是否可以使用 setColorFilter 更改 ImageView 的背景颜色?
问题描述
由于某些原因,我在使用 setBackgrouncolor() 时更改 ImageView 的背景颜色时遇到问题。我想要的是将 ImageView 的背景色更改为 Color.TRANSPARENT。还有其他方法吗:
ImageView iv = (ImageView)findViewById(R.id.myImageView);
iv.setBackgroundColor(Color.TRANSPARENT);
将我的 imageView 的背景颜色更改为透明。
例如可以用 setColorFilter() 来完成吗?像:(有什么方便的模式?)
ImageView iv = (ImageView)findViewById(R.id.myImageView);
iv.setColorFilter(Color.RED, PorterDuff.Mode.SRC_ATOP);
或任何其他解决方案?
谢谢 !
我的答案:
我没有看到我放置在 ImageViews 叠加层中的其中一张图像具有白色背景而不是透明背景......所以没有错误。我的错!
解决方案
public void setColorFilter (int color,PorterDuff.Mode mode)
此方法在 API 级别 29 中已弃用。请改用此方法:
setColorFilter(android.graphics.ColorFilter)
带有 BlendModeColorFilter 的实例
例子:
iv.setColorFilter(new BlendModeColorFilter(getResources().getColor(R.color.White), BlendMode.SRC_IN));
如果你想要它的透明度:
imageView.setAlpha(0.5f);
推荐阅读
- javascript - 对象属性未定义(javascript)
- automation - 无法使用 G1ANT Robot 在 UI-Windows 树上单击指定元素
- reactjs - 有什么好方法可以简化由多个功能包装的组件?
- vba - 为什么我的 CalcWorkingDays VBA 函数在同一时期给我两个不同的结果?
- javascript - 从反应js中的对象中删除键值
- unity3d - 如何从三星 Gear vr 上、下、左、右触摸触摸板?
- android - 我收到消息 import SVG with ERROR@
不支持 - python - 从python中的列表中删除元素
- image - 我们可以使用经过图像分类训练的模型来帮助在 tensorflow 中进行对象检测吗?
- php - How to get year + 1 if the date is already passed