【发布时间】:2017-07-31 08:10:00
【问题描述】:
我正在尝试获得一个带有渐变笔触的白色椭圆形,有点像彩色阴影。
我需要动态更改颜色,所以我尝试将 ColorFilter 添加到可绘制对象中。
Drawable pulseDrawable = getResources().getDrawable(R.drawable.touch_circle);
pulseDrawable.setColorFilter(App.userColor, PorterDuff.Mode.LIGHTEN);
setBackground(pulseDrawable);
这是我在预览工具栏中看到的
但是当我运行应用程序时,我得到了这个,(使用油漆画得很差):
圆圈很好,但不是颜色而是添加发光/阴影。它用蓝色填充了视图的其余部分。
我尝试管理 layertype 软件,但没有成功。
那么为什么预览渲染很好,而运行应用程序却不行?有没有办法解决这个问题?我也愿意接受其他解决方案,例如在没有位图的情况下以编程方式绘制形状
【问题讨论】:
-
可能是 API 版本的差异。您的手机上使用的是哪个 Android 版本?
-
过滤模式改为
PorterDuff.Mode.SRC_IN -
@TusharGogna Android 5.1 使用构建工具 26.0.1
-
@AjilO。 SRC_IN 给了我一个蓝色圆圈,我只想要蓝色的“阴影”。所以 Lighten 会给我导致白色 + 任何东西 = 白色
-
你把模式改成SCR_IN后运行了吗?我不相信预览中的输出...
标签: android android-drawable android-color