覆盖父视图的不透明度

override the opacity of parent view

我有一个视图,上面有一个按钮, 我想做的是让视图透明而不是按钮。

起初我在两个设置中都设置了不透明度,

但 myButton 不透明度由 myView 不透明度设置继承。

var myView= Titanium.UI.createView({
    backgroundColor : 'black',
    //  backgroundColor : rgba(0,0,0,0.5), // try1 
    //  backgroundColor : "#000000CC",  // try2
    opacity:0.8,
    zIndex:5
});

var myButton =  Titanium.UI.createButton({
    backgroundImage  : '/img/close.png',
    opacity: 1,
});
myView.add(myButton);

然后我用谷歌搜索了一下,发现了这个 article

并尝试使用'rgba'的方式,但没有成功。

有什么好的解决方法吗??

我的钛版是

Titanium 命令行界面,CLI 版本 5.0.5,Titanium SDK 版本 5.1。1.GA

如果您为 parent 添加不透明度,他们的孩子也会有不透明度。诀窍是在具有不透明度的按钮之前添加第二个视图,如下所示:

var myView= Titanium.UI.createView({
    backgroundColor : 'transparent'
});

myView.add(Ti.UI.createView({
    width : '100%',
    height : '100%'
    backgroundColor : 'black',
    opacity:0.8,
    touchEnabled : false
});

var myButton =  Titanium.UI.createButton({
    backgroundImage  : '/img/close.png'
});

myView.add(myButton);