将.setBadge添加到钛合金的ImageView中

时间:2016-02-26 15:13:54

标签: android ios iphone titanium titanium-mobile

Badge on top of an image

我需要添加徽章,例如添加的图片。徽章需要在imageView上方。我该如何在Titanium中实现它。我没有使用合金文件夹

2 个答案:

答案 0 :(得分:0)

@Manuel_Rodrigues。没有一种好方法可以达到你想要的效果,但是有一种折衷方法可以获得类似的效果。通过这种方式,您可以认为徽章也是图像,因此只需将徽章放在背景图像即可完成效果。在 Titanium 中,它称为 MaskedImage ,它们组合太多图像或仅使用各种混合模式渲染图像。好吧,我没试过,但也许它可以帮到你。检查这个link,您将获得更多详细信息!

答案 1 :(得分:0)

另一个更简单的解决方案......将图像放在视图中(我们将调用此父视图pView)。确保pView.layout = 'absolute';

bLabel内添加徽章作为标签(我们称之为pView)。

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事件上动态创建pView和bLabel它被远程下载(我们不知道图像的大小,直到完成被解雇)。