使用带有imageView的borderRadius设置的钛

时间:2012-08-27 19:45:32

标签: android ios titanium

我希望imageView“image”属性周围有一个边框。但是,在Android系统上,这不起作用 - 至少,不是在开发人员视图中。

图像显示的是,没有边框。我认为它以某种方式坐在边界的“顶部”...是否有某种方法在imageView图像上设置边框?

不,我不一定控制图像...所以我不能只手动添加边框! 另外,我的意思是:

var theImage = Ti.UI.createimageView({
    borderRadius: 5,
    ....
});
theImage.image = "xyz";

其中,在上面的场景中没有观察到borderRadius!

3 个答案:

答案 0 :(得分:2)

这仅适用于完整的ImageView覆盖图像。

这不适用于imageView对象

中的图像属性

这适用于backgroundImage属性

你试试这个代码,这是当然有效的(真的)

var theImage = Ti.UI.createimageView({
    borderRadius: 5,
    ....
});

theImage.backgroundImage = "xyz.jpg";

尝试这个N享受Titanium SDK ...干杯......

答案 1 :(得分:0)

您是否定义了borderWidth属性?

如果是这样,图像可能位于边框上。因此,只需尝试将theImage添加到另一个带有圆角边框的视图中,如下所示:

var theImageContainer = Ti.UI.createView({
    borderColor  : 'red',
    borderRadius  : 5
    borderWidth : 3
    ... Positioning and size stuff etc...
});

theImageContainer.add(theImage);

有点像黑客,但这可能是钛的错误。

答案 2 :(得分:0)

也许较新的SDK在此期间解决了这个问题。但我建议用视图包装图像并将边框应用到包装器。像这样的东西:

var wrapper = Ti.UI.createView({
     width: Ti.UI.SIZE, 
     height: Ti.UI.SIZE, 
     borderRadius: 5, 
     borderWidth: 2, 
     borderColor: 'red',
});
var img = Ti.UI.createImageView({
    image: '...',
    width: 50,
    height: 50,
});
wrapper.add(img);