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

how to change hintText color in textField Titanium?

这是我的代码,我想更改提示文本颜色,怎么办?

    "#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
}

我认为, 只需输入颜色:'red' 它将以红色显示您的文本和提示文本

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

 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;

});

希望对您有所帮助:)

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

他们有很好的文档

对于那些四处搜索的人,您可以使用 "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"},
});

我在 post 中发现了这个:https://jira.appcelerator.org/browse/TIMOB-18433

这也可以使用 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 现在支持文本字段的 属性 hintTextColor 和方法 setHintTextColor。在 Titanium SDK Release Notes for iOS

中阅读更多内容

只需添加 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
}