harmonyOS:鸿蒙实现自动调节字体大小和跑马灯效果

简介: 1.实现自动调节大小layout文件下ability_main的xml代码

1.实现自动调节大小

layout文件下ability_main的xml代码:

<?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:orientation="vertical">
    <Text
        ohos:id="$+id:text1"
        ohos:height="match_content"
        ohos:width="90vp"
        ohos:background_element="$graphic:background_ability_main"
        ohos:text="S"
        ohos:text_size="40vp"
        ohos:auto_font_size="true"
        ohos:text_color="#f38"
        ohos:text_weight="700"
        ohos:multiple_lines="true"
        ohos:max_text_lines="1"
        ohos:text_font="serif"
        ohos:italic="true"
        ohos:right_padding="8vp"
        ohos:left_padding="8vp"
        ohos:text_alignment="center"
        ohos:layout_alignment="horizontal_center"
        />
</DirectionalLayout>

定义了一个Text文本

MainAbilitySlice的onStart方法代码:

public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        Text text = (Text)findComponentById(ResourceTable.Id_text1);
        text.setAutoFontSizeRule(30,100,1);
        text.setClickedListener(component -> {
            text.setText(text.getText()+"T");
        });
    }

效果

c86dd5fde48d4a50ae8f1f107898a413.gif


2.跑马灯效果

当文本过长时,可以设置跑马灯效果,实现文本滚动显示。前提是文本换行关闭且最大显示行数为1,默认情况下即可满足前提要求。

xml代码

<?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:orientation="vertical">
    <Text
        ohos:id="$+id:text1"
        ohos:height="match_content"
        ohos:width="75vp"
        ohos:background_element="$graphic:background_ability_main"
        ohos:text="supersuper"
        ohos:text_size="30fp"
        ohos:text_color="#f38"
        ohos:text_weight="700"
        ohos:text_font="serif"
        ohos:italic="true"
        ohos:right_padding="8vp"
        ohos:left_padding="8vp"
        ohos:text_alignment="center"
        ohos:layout_alignment="horizontal_center"
        />
</DirectionalLayout>

MainAbilitySlice的onStart方法代码

public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        Text text = (Text)findComponentById(ResourceTable.Id_text1);
        text.setTruncationMode(Text.TruncationMode.AUTO_SCROLLING);
        text.setAutoScrollingCount(Text.AUTO_SCROLLING_FOREVER);
        text.startAutoScrolling();
        text.setClickedListener(component -> {
            text.setText(text.getText()+"T");
        });
    }

效果


7130862bd1d44a0786e2c3e1590f1516.gif

相关文章
|
4月前
|
编解码 视频直播 开发工具
|
4月前
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RowSplit容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之RowSplit容器组件
131 0
|
2月前
|
存储 开发框架 安全
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段一
HarmonyOS NEXT星河版的应用开发标志着华为分布式操作系统的全新篇章,它聚焦于打造原生精致、易用、流畅、安全、智能和互联的极致体验。开发者可以利用其先进的API和工具集,如DevEco Studio,构建高性能、跨设备无缝协同的应用程序,从而充分利用HarmonyOS的分布式能力,为用户带来一致且丰富的多场景数字生活体验。随着“学习强国”、岚图汽车、中国电信等知名企业和应用的加入,鸿蒙生态正迅速扩展,引领着原生应用开发的新趋势。
91 3
鸿蒙 HarmonyOS NEXT星河版APP应用开发-阶段一
|
2月前
|
域名解析 网络协议 调度
阿里云移动研发平台EMAS支持纯血鸿蒙HarmonyOS NEXT
阿里云移动研发平台EMAS作为面向应用全生命周期提供一站式的应用研发管理服务产品,其核心产品包括云构建,HTTPDNS 和移动推送正式推出了针对纯血鸿蒙的SDK版本,将为广大开发者在鸿蒙生态中构建高效、稳定、可靠的企业级应用提供强有力的支持。如有疑问,请进入钉钉群(群号35248489)进行相关咨询。
|
4月前
|
安全 调度
鸿蒙HarmonyOS实战-Stage模型(线程模型)
本文介绍了线程作为操作系统调度的最小单位,是进程中的执行流,具有轻量级、并发执行、共享资源、通信简单和上下文切换等特点。线程分为用户线程和内核线程,其中内核线程由操作系统管理,而用户线程由应用程序控制。线程用于提高程序性能和响应速度,尤其适合多任务并发处理。在HarmonyOS中,每个应用有主线程负责UI和 ArkTS 引擎管理,以及Worker线程执行耗时任务。线程间通信可通过Emitter实现事件同步和Worker进行异步操作。
103 0
|
4月前
|
Java 开发工具 Android开发
鸿蒙HarmonyOS 与 Android 的NDK有什么区别?
鸿蒙(HarmonyOS)和Android的NDK(Native Development Kit)是两个不同的概念,它们在设计理念、架构、开发方式和目标平台等方面存在着一些显著的不同。
188 0
|
4月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Flex容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Flex容器组件
163 5
|
4月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Row容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Row容器组件
117 1
|
4月前
|
IDE 开发工具 Windows
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之FlowItem容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之FlowItem容器组件
96 1
|
4月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Scroll容器组件
521 0