【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(四)

embedded/2024/10/21 13:41:11/

课程地址: 黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发

(本篇笔记对应课程第 7 - 9节)

P7《06.ArkUI组件-Text》

本节我们继续学习 Text 文本组件:

reaources目录下有3个主要的目录:base,en_US,zh_CN。base目录可以理解为基础目录,en_US,zh_CN则可以理解为限定词目录,可以在其中配置一些文案内容,并可以根据设备的不同语言环境实现国际化效果:
在这里插入图片描述

1、新建一个 ImagePage.ets 文件,在其中写一个 Text 组件:

在这里插入图片描述

2、在 en_US,zh_CN 下的 string.json文件中分别添加一个 width_label 的配置项:

在这里插入图片描述

在这里插入图片描述

添加完成后发现为何标红?这是因为需要再base目录下也要加上这个width_label 配置项,因为它是基础目录,在其它目录找不到时会默认走这个目录:

在这里插入图片描述

3、将 Text() 组件中的字符串值改为如下方式动态引入字符串的方式,观察预览器已经可以正常显示。此时预览器认为设备是一个中文语言环境,如果想看其它语言环境,可以点击 三个点 按钮,选择其它语言环境:

在这里插入图片描述

切换 en_US 后发现界面文案即时显示成了定义的英文文案:

在这里插入图片描述

4、为Text 组件增加样式属性:

在这里插入图片描述

总结
Text()组件可以设置文本内容,有两种方式:
1、直接设置固定文本内容:Text(‘文本内容’);
2、动态引用配置文件中的文本内容:在 en_US,zh_CN 以及base下的 string.json文件中配置键值对项,并以Text(‘app.string.key’)的形式引用。

实践:
新建一个 ImagePage.ets 文件后,点击预览迟迟不能成功,下方编译信息展示:貌似是两个文件,它不知道从哪个是入口了?按照提示打开文件:

在这里插入图片描述

猜测像微信小程序配置页面一样将我们新加的页面配置上去?

在这里插入图片描述

再次尝试预览,报错有两个重复的 Index:

在这里插入图片描述

将新建文件中的 Index 改为与文件名称一致,再次运行预览,还是长时间卡主不能出现预览结果。把刚刚加上去的页面配置再次删除,还是不行:

在这里插入图片描述

放大招!重启编辑器,之后再预览,果然好了!果然重启大法好~

在这里插入图片描述

P8《07.ArkUI组件-TextInput》

在这里插入图片描述

在代码中添加 TextInput 组件并添加样式属性,并添加 onChange 事件方法,可以测试到 输入框内容改变时已经打印语句已经输出了:

在这里插入图片描述

我们的需求是将输入框输入的数字作为图片的宽度,这就需要设置一个 state值,我们定义为 imageWidth :

在这里插入图片描述

onChange事件中赋值发现会报错,这是因为虽然输入框限定只能输入数字,但这是一个文本类型的输入框,拿到的值的类型仍然是文本类型,所以需要用 parseInt() 处理一下:

在这里插入图片描述

将图片宽度改为动态设置,发现初始设置的1234生效了,图片超出了屏幕大小,占满了屏幕:

在这里插入图片描述

在这里插入图片描述

实践:

输入框内容改变时,为啥我的看不到console?原来需要打击这个 Log 切换到打印日志选项卡才能看到~

在这里插入图片描述

报错了!

在这里插入图片描述

原来是这里N写成了大写,改为小写,成功啦~

在这里插入图片描述

小问题改善:发现将输入框内容情空时变成了NaN,且无法再正常输入,红框代码优化一下,好啦!

在这里插入图片描述

P9《08.ArkUI组件-Button》

Button:按钮组件

在这里插入图片描述

coding!实现点击按钮放大缩小图片效果:

在这里插入图片描述

实践:

一切正常,无问题记录~


http://www.ppmy.cn/embedded/18589.html

相关文章

Web3D在电商行业的应用:开启沉浸式购物新纪元!

随着科技的不断进步,电子商务领域也在不断探索新的技术手段,以提供更加优质、便捷的购物体验。其中,Web3D技术的兴起,为电子商务带来了革命性的变化,开启了沉浸式购物的新纪元。 Web3D技术是一种在网页上呈现三维立体图…

安装一个mysql5.7.37版本的数据库应用,端口映射到本机的3306端口

好的,以下是在 Docker 中安装 MySQL 5.7.37 并将其端口映射到本机的 3306 端口的步骤: 1. 拉取 MySQL 5.7.37 镜像: 首先,使用以下命令从 Docker Hub 拉取 MySQL 5.7.37 镜像: docker pull mysql:5.7.372. 运行 MyS…

“无媒体,不活动”,这句话怎么理解?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 “无媒体,不活动”通常指的是在现代社会中,媒体对于各种活动,尤其是公共活动和事件的推广、宣传和影响力是至关重要的。它强调了媒体在塑造公众意识、…

linux 编译binutil 遇到问题

在centos6.10上编译binutil2.27时遇到问题: as.c💯31: error: ‘DEFAULT_GENERATE_ELF_STT_COMMON’ undeclared here (not in a function) 搜到解决方法是这个: 1、https://github.com/riscv-software-src/riscv-tools/issues/66 &#xf…

基于Rust的多线程 Web 服务器

构建多线程 Web 服务器 在 socket 上监听 TCP 连接解析少量的 HTTP 请求创建一个合适的 HTTP 响应使用线程池改进服务器的吞吐量优雅的停机和清理注意:并不是最佳实践 创建项目 ~/rust ➜ cargo new helloCreated binary (application) hello package~/rust ➜ma…

计算机服务器中了mkp勒索病毒怎么办,mkp勒索病毒解密数据恢复流程

网络技术的不断应用与发展,为企业的生产运营带来了极大便利,越来越多的企业依赖网络开展各项工作业务,网络也大大提升了企业的生产运营效率,但网络是一把双刃剑,在为企业提供便利的同时,也为企业的数据安全…

【解决Android Studio】Could not resolve com.android.tools.build:gradle:7.4.1

【报错信息】 所用IDE为Android studio2022 1.1 Patch 1。 使用Android Studio新创建的新工程,在build过程中报了以下错误: A problem occurred configuring root project Application. > Could not resolve all files for configuration :classpat…

基于灰狼优化器GWO与小龙虾优化算法COA的无人机航迹规划

一、灰狼优化器算法 灰狼优化算法(Grey Wolf Optimizer,GWO)由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法。该算法受到了灰狼捕食猎物活动的启发而开发的一种优化搜索方法,它具有较强的收敛性能…