• Lv0
    粉丝4

积分341 / 贡献0

提问49答案被采纳13文章1

ArkTS如何动态操作组件?

mean 显示全部楼层 发表于 2023-12-22 17:22:17
【问题描述】
我想实现的效果:页面上展示一行动态文字,文字可能是纯色,也可能是某个文字高亮,效果如下:
fakename.png


在Android中,可以通过SpannableString对指定的字符进行润饰
  1. LinearLayout ll = findViewById(R.id.linearLayout);

  2.         SpannableString ss3 = new SpannableString("欢迎光临我的博客");
  3.         ss3.setSpan(new URLSpan("http://xxx.com/"), 3, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

  4.         TextView textView = new TextView(this);
  5.         textView.setText(ss3);
  6.         textView.setTextColor(0xff999faa);
  7.         textView.setTextSize(12);
  8.         ll.addView(textView);
复制代码
在js中可以通过js操作dom
  1.    let span1 = document.createElement('span')
  2.     span1.innerText = '欢迎光临'
  3.     span1.style.color = '#000'

  4.     let span2 = document.createElement('span')
  5.     span2.innerText = '我的'
  6.     span2.style.color = '#c00'

  7.     let span3 = document.createElement('span')
  8.     span3.innerText = '博客'
  9.     span1.style.color = '#000'

  10.     let ll = document.getElementById("linearLayout")
  11.     ll.appendChild(span1)
  12.     ll.appendChild(span2)
  13.     ll.appendChild(span3)
复制代码
在ArkTS中如何实现?如何动态操作组件?



您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论2

马迪

沙发 发表于 2023-12-23 09:09:38
https://docs.openharmony.cn/page ... onents-richtext.md/

我找了下,通过上面这个RichText应该能实现。 只要能动态的拼接成data字符串,再配合@state,就应该可以实现上述动态改变Text内容的效果

黄大侠来了

板凳 发表于 2023-12-28 09:47:16
使用Text+Span组件可以轻松解决

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部