gpt4 book ai didi

javascript - Appcelerator 中的属性字符串和应用 @ 符号中间字符串

转载 作者:行者123 更新时间:2023-11-29 00:39:30 25 4
gpt4 key购买 nike

我在 Appcelerator 中的属性字符串方面遇到了一些困难,希望得到一些帮助。

所以,我有几个场景。

我使用 API 来检索用户信息,但该应用程序需要显示前面带有 @ 的用户名,并且与字符串的其余部分采用不同的颜色。现在对于开头有用户名的屏幕来说这是可以的,但不幸的是我无法让它在字符串中间工作。

这是当前代码:

var attr = Ti.UI.createAttributedString({
text: '@' + text,
attributes: [{
type: Ti.UI.ATTRIBUTE_FOREGROUND_COLOR,
value: '#ff3333',
range: [text.indexOf(userToHighlight), (userToHighlight).length+1]
}]
});

var notificationMessage = Ti.UI.createLabel({
attributedString: attr,
left: 0,
top: 5,
font: {
fontFamily: 'OpenSans-Light',
fontSize: 13
}
});

这就是不同场景下的输出应该是什么样的......

  1. @username 喜欢你的帖子
  2. 您现在与@username成为 friend

因此,这些字符串的条件如下......

  1. 用户名和@应为红色,字符串的其余部分应为黑色
  2. 用户名和@应为红色,字符串的其余部分应为黑色

场景 1 还可以,但场景 2 目前看起来像这样......

@你现在是用户名的 friend

所以 @ 位于开头,主要问题是如何将其附加到用户名中间字符串?

API 返回用户名,我已将其添加到此处的变量中:

var userToHighlight = json[i].participants[1].username;

有什么想法可以实现吗?

西蒙

最佳答案

使用String.format()时,将用户名插入字符串并不难。可以在 TiDev 上找到一个很好的教程。 .

基本上:

var message = String.format('Welcome, %s! You are visitor number %d', forename, number);

在您的情况下,使用变量制作原始文本,然后再注入(inject)它们。

var text = "You are now friends with @%s";
var text = "@%s likes your post";

然后在属性字符串中:

text: String.format(text, userToHighlight)

关于javascript - Appcelerator 中的属性字符串和应用 @ 符号中间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39853072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com