如何在textField Titanium中更改hintText颜色?

时间:2015-03-02 01:57:47

标签: titanium titanium-alloy titanium-android

这是我的代码,我想更改hintText Color,该怎么做?

    "#email":{
    width: '70%',
    left:'13%',
    font:{
        fontSize:'20sp'
    },
    color: '#fff',
    hintText:'请输入手机号',
    borderColor:'transparent',
    bottom:'2%',
    //backgroundColor:'#d9d9d9',
    backgroundColor:'transparent',
    borderStyle:Ti.UI.INPUT_BORDERSTYLE_ROUNDED
}

6 个答案:

答案 0 :(得分:3)

这也可以使用AttributedString和AttributedHintText来完成,它同时支持Android和iOS。



var emailHintText = "Your email";

var attributedEmailHintText = Titanium.UI.createAttributedString({
		text : emailHintText,
		attributes : [{
			type : Ti.UI.ATTRIBUTE_FOREGROUND_COLOR,
			range : [0, emailHintText.length],
			value : '#88817F',
		}]
	});

$.email.setAttributedHintText(attributedEmailHintText);




除了颜色之外,AttributedString还允许您向string / hintText添加更多属性。在Appcelerators文档中了解它:

AttributedString Foreground Color

Ti.UI.AttributedString

更新15.08.16

在Titanium SDK 5.4.0.GA版本之后,iOS现在支持TextFields的属性hintTextColor和方法setHintTextColor。阅读Titanium SDK Release Notes for iOS

中的更多内容

答案 1 :(得分:1)

实际上你不能在我之前尝试过 这里我做了什么来改变提示颜色和字体
您需要在view上添加更改侦听器来创建textfeildlabeltextfeild以显示或隐藏提示

 var mh_view = Ti.UI.createView({
    backgroundColor : "white",
    height : "40dp",
    top : "224dp",
    left : "10dp",
    right : "10dp",
    width : Ti.UI.FILL
});
var mail_hint = Ti.UI.createLabel({
    color : "#88817F",
    font : {
        fontFamily : customfont2,
        fontSize : "15dp"
    },
    left : "47dp",
    //top:"14dp",
    text : "E-mail"
});
mh_view.add(mail_hint);
var mail = Ti.UI.createTextField({
    backgroundImage : "/images/trans.png",
    width : Ti.UI.FILL,
    height : "40dp",
    top : "224dp",
    left : "10dp",
    right : "10dp",
    bubbleParent:false,
    paddingLeft : "47dp"
    // hintText:"E-mail"
});

var visible = true;
mail.addEventListener("change", function() {
    if (visible) {
        mail_hint.hide();
    } else {
        if ((mail.value).length == 0)
            mail_hint.show();
    }
    visible = !visible;

});

希望它有所帮助:)

答案 2 :(得分:1)

只需添加hintTextColor属性。

"#email":{
    width: '70%',
    left:'13%',
    font:{
        fontSize:'20sp'
    },
    color: '#fff',
    hintText:'Hint Text',
    hintTextColor : "#787878",
    borderColor:'transparent',
    backgroundColor:'transparent',
    borderStyle:Ti.UI.INPUT_BORDERSTYLE_ROUNDED
}

答案 3 :(得分:0)

你必须为具有这些属性的android创建一个主题。 你可以找到如何做到这一点http://docs.appcelerator.com/platform/latest/#!/guide/Android_Themes

他们有一个很好的文件

答案 4 :(得分:0)

对于那些正在搜索的人,您可以使用“hintTextColor”执行此操作,您可以将其用于文本字段,但我将其用于搜索栏,请参阅下面的示例:

var searchInputBox = Titanium.UI.createSearchBar({
   backgroundColor:'#fff',
   hintTextColor:'#777',
   backgroundFocusedColor: "red",
   color: "#000",
   showCancel:true,
   height: 60,
   width: "94%",
   top: 100,
   left: "3%",
   hintText: "E.g. Bananas...",
   font: { color: "#fff"},
});

我在帖子中发现了这一点:https://jira.appcelerator.org/browse/TIMOB-18433

答案 5 :(得分:-1)

我想, 只需涂上颜色:'红色' 它会以红色显示您的文字和提示文字