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

目录
打赏
0
0
0
0
0
分享
相关文章
原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
原生鸿蒙版小艺APP成功接入DeepSeek-R1,为HarmonyOS用户带来更智能高效的交互体验。通过此次升级,用户在编程、学习和工作中的问题可迅速获得专业解答。同时,此举为HarmonyOS应用开发者提供了新的技术参考,激发了更多创新应用场景的开发,助力打造差异化竞争优势,推动HarmonyOS生态繁荣发展。
133 68
原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
HarmonyOS鸿蒙应用开发——探索原生与H5通信框架DSBridge
HarmonyOS版DSBridge是一个桥梁库,允许鸿蒙原生环境与JavaScript交互。它兼容Android和iOS的第三方DSBridge核心功能,支持同步和异步调用、命名空间API管理、进度回调及页面关闭监听等功能。主要特性包括适配鸿蒙NEXT版本、支持串行异步并发任务、兼容DSBridge 2.0与3.0版本JS脚本,并提供类形式集中管理API及自定义页面组件注册。源码仓库:HarmonyOS版 - DSBridge-HarmonyOS。安装命令为`ohpm install @hzw/ohos-dsbridge`。通过该库,开发者可以方便地在鸿蒙系统中实现原生与JS的高效交互。
174 1
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
174 81
《鸿蒙 HarmonyOS 应用开发从入门到精通(第 2 版)》学习笔记 ——HarmonyOS 环境搭建之注册华为开发者联盟帐号
要进行HarmonyOS应用开发,首先需要注册华为开发者联盟帐号并完成实名认证。注册时可选择成为个人或企业开发者,两者享有不同权益。个人开发者需准备手机号/邮箱、身份证扫描件及银行卡号等资料,通过审核后即可享受应用市场、主题、商品管理等多项服务。具体步骤包括访问华为开发者官网(https://developer.huawei.com/consumer/cn/),选择注册方式并按指引操作。实名认证需填写个人信息并签署相关协议,等待1-3个工作日的审核结果。
82 16
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS纯血鸿蒙新特性
HarmonyOS 3.1引入了Stage模型,增强ArkTS语言、应用程序框架、Web、ArkUI等子系统能力。新增功能包括Ability框架的Stage开发模型、ArkUI组件能力提升、应用包管理接口、公共基础类库支持Buffer读写、Web服务文档预览及编辑、图形图像编解码支持等。从API 9开始,Stage模型成为主要开发模型,支持更灵活的应用生命周期管理和窗口调度,提供更好的组件与窗口弱耦合体验。此外,HarmonyOS NEXT开发者预览版实现了全面自研,被称为“纯血鸿蒙”,具备自主可控、高度弹性、更强的安全性和隐私保护特性。
105 21
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS技术理念
HarmonyOS在万物智联时代提出了三大技术理念:一次开发,多端部署;可分可合,自由流转;统一生态,原生智能。通过多端开发环境、多端开发能力和多端分发机制,HarmonyOS显著降低了开发成本,提升了开发效率。开发者只需一套工程即可实现多设备应用的高效开发与部署。元服务作为轻量化程序实体,支持跨设备无缝流转,提供便捷服务。同时,HarmonyOS内置强大的AI能力,助力开发者快速实现应用智能化。
110 16
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS产生的背景
HarmonyOS是华为自主研发的分布式操作系统,旨在应对美国“实体清单”带来的技术封锁。2019年首次亮相,它不仅支持手机、平板等多终端设备,还通过统一的软件系统解决了不同设备间的体验割裂问题。HarmonyOS强调全场景智能互联,提升设备间的安全性和协同能力。其商用版本基于OpenHarmony开源项目开发,而HarmonyOS NEXT则是去除了AOSP代码的纯自研版本,代表了未来发展方向。
110 12

热门文章

最新文章