在Appcelerator中,每当我有一个TextField时,边框总是一个粗橙色。我该如何设计呢? backgroundSelectedColor似乎没有效果,backgroundColor会改变实际的背景颜色。我希望背景颜色保持不变,但边框颜色要改变。这怎么可能?是吗?谁想要厚厚的橙色边框?!?这是默认的吗?
答案 0 :(得分:1)
我试图通过使用backgroundFocusedImage
和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);
}
}