我正在尝试学习Titanium移动开发。
我在透明背景上有一个黑色星星的图像,我想写一个应用程序,在触摸时随机化它的颜色。
我看到有一些"混合模式"功能,但它们只是iOS。有没有办法在iOS和Android上运行?
非常感谢
答案 0 :(得分:2)
不,你根本无法改变Titanium中图像的颜色。如果你想实现你的目标,我会简化形状,例如拿一个圆圈。要绘制圆圈,请使用以下代码:
var circle = Ti.UI.createImageView({
width: 100,
height: 100,
borderRadius: 50,
backgroundColor: 'black'
});
要更改它的颜色,请使用此事件侦听器:
circle.addEventListener("click", function(e){
circle.backgroundColor = "red";
});
这只会在第一次点击时将颜色更改为红色。如果你想随机化颜色,你必须创建一个颜色数组。然后使用shuffle函数获取随机颜色以最终设置它。本文可能有帮助:shuffle
祝你好运!答案 1 :(得分:0)
答案 2 :(得分:0)
我看到了解决此类问题的一些选项(您必须对它们进行测试):
Titanium的一大优点是它允许您编写自己的自定义本机模块,您可以将其作为项目的一部分。您甚至可以编写自己的UI组件 - 基本上您可以使用本机做任何事情 - 理论上您可以使用Titanium。
假设您不想使用本机代码,并希望坚持使用Titanium提供的覆盖效果,例如以下示例:https://developer.appcelerator.com/question/143156/placing-a-transparent-imageview-on-top-of-another-imageview
另一种方法可能是使用背景颜色(您将随机化)的视图,并在其上面是一个图像,其中围绕恒星的所有内容都具有纯色,并且星形是透明的。
答案 3 :(得分:0)
最后,我在webview中使用了一个HTML canvas元素来解决我的问题。
我编写了一个节点包,用于将图像分割成区域并将它们渲染到画布中。