将 .setBadge 添加到钛中的 ImageView
Add .setBadge to a ImageView in titanium
我需要像添加的图片一样添加徽章。徽章需要在 imageView 之上。我如何在 Titanium 中实现它。我没有使用 alloy 文件夹
@Manuel_Rodrigues。没有什么好的方法可以达到你想要的效果,但有一种折衷的方法可以达到类似的效果。这样你就可以认为徽章也是一个图像,所以只需将徽章放在背景图像上就可以达到效果。在 Titanium 中,它调用了 MaskedImage,它结合了太多图像或只是使用各种混合模式渲染图像。好吧,我没有尝试过,但也许它可以帮助你。检查此 link,您将获得更多详细信息!
另一个更简单的解决方案...将图像放在视图中(我们将调用此父视图 pView
)。确保 pView.layout = 'absolute';
在 pView
中添加徽章作为标签(我们称之为 bLabel
)。
bLabel.width = Ti.UI.SIZE; // so it can enlarge depending on label's text
bLabel.height = 16; // depends on font size
bLabel.borderRadius = 16 / 2; // half the height
bLabel.backgroundColor = 'red';
bLabel.color = 'white';
bLabel.x & y 您要将此徽章放置在 pView 中的图像上方的位置。如果您希望徽章位于图像外的右上角,请使 pView
比图像大。
如果您不确定图像(比如远程图像)的高度/宽度,您可能需要对 pView 的高度进行硬编码,您必须在 complete
远程下载图像的事件(直到触发完成,我们才知道图像的大小)。
我需要像添加的图片一样添加徽章。徽章需要在 imageView 之上。我如何在 Titanium 中实现它。我没有使用 alloy 文件夹
@Manuel_Rodrigues。没有什么好的方法可以达到你想要的效果,但有一种折衷的方法可以达到类似的效果。这样你就可以认为徽章也是一个图像,所以只需将徽章放在背景图像上就可以达到效果。在 Titanium 中,它调用了 MaskedImage,它结合了太多图像或只是使用各种混合模式渲染图像。好吧,我没有尝试过,但也许它可以帮助你。检查此 link,您将获得更多详细信息!
另一个更简单的解决方案...将图像放在视图中(我们将调用此父视图 pView
)。确保 pView.layout = 'absolute';
在 pView
中添加徽章作为标签(我们称之为 bLabel
)。
bLabel.width = Ti.UI.SIZE; // so it can enlarge depending on label's text
bLabel.height = 16; // depends on font size
bLabel.borderRadius = 16 / 2; // half the height
bLabel.backgroundColor = 'red';
bLabel.color = 'white';
bLabel.x & y 您要将此徽章放置在 pView 中的图像上方的位置。如果您希望徽章位于图像外的右上角,请使 pView
比图像大。
如果您不确定图像(比如远程图像)的高度/宽度,您可能需要对 pView 的高度进行硬编码,您必须在 complete
远程下载图像的事件(直到触发完成,我们才知道图像的大小)。