在 Appcelerator 中,每当我有一个 TextField 时,边框总是一个厚橙色。我该如何设计这个?backgroundSelectedColor 似乎没有效果,而 backgroundColor 改变了实际的背景颜色。我希望背景颜色保持不变,但边框颜色会改变。这怎么可能?是吗?谁想要厚厚的橙色边框?!?怎么是默认的?
问问题
704 次
1 回答
1
backgroundFocusedImage
我试图通过使用and属性来实现与您在下面看到的相同的效果,但backgroundImage
没有运气。
最后,我最终实现了 eventListeners 手动交换这些属性(注意:我使用的是 Alloy,所以如果您只使用 Titanium,您的代码可能看起来略有不同):
function toggleFocusBackground(event) {
function swap(obj, prop1, prop2) {
var tmp;
tmp = obj[prop1];
obj[prop1] = obj[prop2];
obj[prop2] = tmp;
}
function multiSwap(obj, props) {
var prop1, prop2;
for (prop1 in props) {
prop2 = props[prop1];
if (typeof obj[prop1] !== 'undefined' && typeof obj[prop2] !== 'undefined') {
swap(obj, prop1, prop2);
}
}
}
var node, i;
var props = {
'backgroundFocusedImage': 'backgroundImage',
'focusedColor': 'color'
};
for (i in this.parent.children) {
multiSwap( this.parent.children[i], props );
}
}
for (var i in $) {
if (typeof $[i].value !== 'undefined') {
$[i].addEventListener('focus', toggleFocusBackground);
$[i].addEventListener('blur', toggleFocusBackground);
}
}
于 2013-11-11T23:53:38.523 回答