HarmonyOS实战—实现跑马灯效果
2023-02-26 10:18:44 时间
1. Text文本框展示大段内容文字
- 文本中展示大段文字,除了这种方式之外,还有其他方式
- 可以使用跑马灯的形式展示,但需要两个前提条件,如下:
下面两个都是默认属性,也可以省略不写
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
ohos:truncation_mode="ellipsis_at_start"
,表示前面的内容省略掉,以“...
”的形式,如:
<Text ohos:id="$+id:text1" ohos:height="100vp" ohos:width="100vp" ohos:background_element="#55121212" ohos:text="小明:你说我这穷日子过到啥时侯是个头啊?小红:那得看你能活多久了" ohos:text_size="40vp" ohos:truncation_mode="ellipsis_at_start" />
- 把宽度改为
300vp
- 如果想显示前面的内容,省略后面的内容,只要把
ohos:truncation_mode="ellipsis_at_end"
ohos:truncation_mode="auto_scrolling"
表示滚动效果ohos:auto_scrolling_count="10"
表示跑马灯滚动的次数,10表示滚动十次,unlimited
表示无限次数ohos:auto_scrolling_duration="2000"
表示跑的速度,2000是时间单位,毫秒,多少时间跑完,表示2秒跑完这段内容
2. 实现案例
- 新建项目:TextLargeApplication
ability_main
<?xml version="1.0" encoding="utf-8"?> <DirectionalLayout xmlns:ohos="http://schemas.huawei.com/res/ohos" ohos:height="match_parent" ohos:width="match_parent" ohos:alignment="center" ohos:orientation="vertical"> <Text ohos:id="$+id:text1" ohos:height="100vp" ohos:width="300vp" ohos:background_element="#55121212" ohos:text="小明:你说我这穷日子过到啥时侯是个头啊?小红:那得看你能活多久了" ohos:text_size="40vp" ohos:truncation_mode="auto_scrolling" ohos:auto_scrolling_count="unlimited" ohos:auto_scrolling_duration="2000" /> </DirectionalLayout>
MainAbilitySlice
package com.xdr630.textlargeapplication.slice; import com.xdr630.textlargeapplication.ResourceTable; import ohos.aafwk.ability.AbilitySlice; import ohos.aafwk.content.Intent; import ohos.agp.components.Component; import ohos.agp.components.Text; public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener { @Override public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_main); //1.获取Text Text text1 = (Text) findComponentById(ResourceTable.Id_text1); //2.给Text文本添加单击事件 //表示当单击一下的时候,开启跑马灯效果 text1.setClickedListener(this); } @Override public void onActive() { super.onActive(); } @Override public void onForeground(Intent intent) { super.onForeground(intent); } @Override public void onClick(Component component) { //开启跑马灯效果 //两种方式获取文本的对象 //1.方法的参数,参数表示被点击组件的对象 //2.可以把 onStart 方法中的Text对象,挪到成员位置 //使用第一种方法实现: //先强转,因为开启跑马灯的方法不是父类component里的方法,而是Text文本里的方法 //所以,把component强转为Text Text t = (Text) component; t.startAutoScrolling(); } }
- 运行:
- 因为设置了
auto_scrolling_count="unlimited
属性,所以会无限次的滚动。当然也可以设置滚动多少次,以及滚动的时间。
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- 立足体验微创新数字证书,自主品牌教育院校市场受青睐
- 【Blender】如何使用Festivity方案一键三渲二 - FBX版本
- 优思学院|质量工程师发展前景如何?
- 国产芯片级微型原子钟介绍
- 时钟校准服务器介绍
- 电子时钟系统常规应用推荐
- 电子时钟同步系统在西安市精神卫生中心的应用
- 6款实用PS插件合集,好用的PS插件都在这里!
- 北斗网络时钟服务器介绍
- 一库(Axure完善的原型设计元件库)
- Safari脚本编辑使用体验
- 《一步步了解iOS APP上架流程,让你的APP顺利进入App Store的大门》
- 容器时代的存储底座:存储资源盘活系统SRRS
- iOS APP上架流程(详细)
- 嘉为蓝鲸研运一体化解决方案荣获信通院XOps领域年度明星解决方案
- BASS:为单细胞分辨率的空间转录组学提供多尺度和多样本分析
- 春节前突击检查应对指南请收好!
- Brief Bioinform. | 如何使用人工智能进行多种药物相互作用预测?
- Linux中Sl命令的使用
- 技术分享 | OceanBase 4.X 最小化单机部署