我需要将此代码http://www.pahgawks.com/blog/fire-particles-for-html5-canvas/从css和javascript移植到Android。 在此代码中如果更改此行
stage.fillStyle = "rgba("+(260-(particles[i].life*2))+","+((particles[i].life*2)+50)+","+(particles[i].life*2)+","+(((max-particles[i].life)/max)*0.4)+")";
为:
stage.fillStyle = "rgba("+255+","+50+","+0+","+0.4+")";
看到黄色和红色和白色的火,但在Android中我只看到红色
paint.setColor(Color.argb(102,255,50,0);
但我有paint.setColor(Color.argb(alpha,red,green,blue))和rgba css的问题 在css代码中,我们看到一个颜色读取黄色和白色,在火中创建。
答案 0 :(得分:0)
在Java代码中,当您在JavaScript中动态设置(基于Color.argb(102, 255, 50, 0)
和particles[i].life
值)时,您将拥有静态颜色(max
)。
尝试在Java代码中使用这些值,以便查看所有颜色。
答案 1 :(得分:0)
不知道为什么Android选择使用#ARGB颜色布局而不是规范的#RGBA颜色布局。即将发布的Android P中有hex value handling的新闻。
Android P应用启用了CSS Color Module Level 4行为草稿,用于 处理4和8个十六进制数字CSS颜色。
自发布以来,Chrome已支持CSS颜色模块第4级 52,但WebView当前禁用该功能,因为现有 发现Android应用程序的包含32位十六进制颜色 Android排序(ARGB),这会导致渲染错误。
例如,颜色#80ff8080当前在WebView中呈现为 不透明为浅红色(#ff8080),用于定位到Android P之前的SDK的应用。 当前领先的组件(Android会将其解释为Alpha组件)。如果某个应用定位到P或更高, 这将被解释为50%的透明浅绿色(#80ff80)。