基于文本的ArkUI设计1.提出问题当我们打开 DevEco Studio 并创建一个 Empty Ability 项目时,开发环境会自动初始化一个简单的展示界面,默认内容是一个“Hello World”文本。这是一个基础模板,帮助开发者快速了解界面构建的基本结构,同时也为后续开发提供了良好的起点。在项目创建完成后,IDE会生成一组默认代码,并在界面布局文件中显示“Hello World”文本。此时,我们可以通过单击 右侧的 Previewer 面板,实时预览代码效果。Previewer 是 DevEco Studio 提供的一个非常直观的工具,它能够根据代码的变化动态更新界面效果,帮助我们快速验证布局和样式的设计。
图片
图1
图片
图2那么,这样的界面是如何实现的呢?接下来,我们将详细讲解基于文本的ArkUI的基础使用方法,并通过一个小案例来帮助你更好地理解其开发流程和核心概念。2.认识组件像行Row、列Column这样的容器组件,它们的写法如下图所示。
图片
图3而像文字Text、图片Image这样的基础组件,它们的写法如下图所示。
图片
图4当我们需要完成一个完整的任务时,通常需要结合使用容器组件和基础组件。容器组件负责提供布局和结构,而基础组件则负责展示具体内容或提供交互功能。在设计过程中,理解如何将这两类组件有效地结合起来显得尤为重要。通过合理地嵌套和排列组件,可以更好地实现预期的界面效果和功能需求。假设我们需要实现下图中的示例界面,首先需要仔细分析其布局特点。从图中可以看出,整个布局呈现出上下分布的层次结构。这样的布局特点非常适合使用Column组件来实现,因为Column组件能够按照垂直方向依次排列其子组件。基于这个布局分析,我们可以将界面划分为两个主要部分:第一部分是标题“程序语言”,位于界面的第一行;第二部分是其他内容,位于界面的第二行。
图片
图5在具体实现中,第一步是创建一个Column组件,用来定义整个界面的垂直布局框架。接着,将标题“程序语言”通过Text组件插入到Column的第一行中。对于第二行的内容,由于包含多个元素,我们需要在Column中嵌套一个Row组件作为承载容器。Row组件可以按水平方向排列子组件,将第二行的内容分别通过Text基础组件插入其中。值得注意的是,Build组件同样属于容器组件,但其特殊之处在于它在整个项目中是唯一的,每个界面只能包含一个Build组件。而像Column和Row这样的容器组件则没有此限制,可以根据需要在界面中使用多个,以灵活实现不同的布局需求。
图片
图63.组件的属性方法在实现上图5所示效果的过程中,目前仅完成了图6中的文本内容效果,而背景颜色、文本大小等其他视觉属性尚未被定义或实现。为了让界面更加美观且符合设计需求,我们需要进一步调整和完善组件的属性。这些属性为组件提供了丰富的功能,使其在表现形式和交互方式上更加灵活和多样化。接下来,我们将重点介绍如何使用组件的属性方法来对其进行定制化。组件的属性方法是用于控制组件外观和行为的重要工具,其写法结构清晰,便于快速配置。具体地,属性方法的定义和调用方式如下图所示。
图片
图7常用的属性方法如下表所示。表1组件属性方法描述.width(200)宽度.height(200)高度.backgroundColor(Color.Red)背景色.fontSize(40)字体大小.fontWeight(FontWeight.Bold)字体粗细.fontColor(Color.Blue)字体颜色当我们将属性方法加入组件后,就可以进一步完善界面,从而实现图5所示的完整效果。
图片
图8在实际应用过程中,如果界面上的文本内容较长且超出了容器的显示范围,可能会出现文字溢出的情况。这时,为了保持界面的美观和功能的完整性,我们需要对溢出的文本进行适当的处理。这种场景下,可以使用以下图中展示的语法来解决问题。其中,关键属性“XXX”决定了溢出文本的处理方式。当“XXX”为“Ellipsis”时,超出范围的文本会被省略,并显示为省略号“...”。这种方式适用于需要保留简洁信息的场景,例如标题或简短描述。需要注意的是,使用“Ellipsis”时,通常需要搭配“.maxLines()”方法一同使用,以指定文本最多显示的行数。例如,.maxLines(1)将限制文本在单行内显示,并在超出部分添加省略号。当“XXX”为“MARQUEE”时,文本将以滚动的方式在一行内循环显示。此方式适合于需要完整展示但受限于空间的动态内容,例如通知、公告栏或长标题。这种灵活的属性设置能够满足不同的文本显示需求,无论是静态省略还是动态滚动,都能为用户提供最佳的阅读体验。同时,这种方法也能确保界面保持一致性和美观性,避免因为文字溢出而导致的布局混乱或信息遮挡。
图片
图9
图片
图10


wust508
1 声望0 粉丝