当前位置:   article > 正文

鸿蒙初级应用开发学习_鸿蒙应用开发零基础入门

鸿蒙应用开发零基础入门

常用基础组件

你好! 这是我第一次使用 鸿蒙编译器 开发。

基础组件

组件(Component)是界面搭建与显示的最小单位,HarmonyOS ArkUI声明式开发范式为开发者提供了丰富多样的UI组件,我们可以使用这些组件轻松的编写出更加丰富、漂亮的界面。

组件根据功能可以分为以下五大类:基础组件、容器组件、媒体组件、绘制组件、画布组件。其中基础组件是视图层的基本组成单元,包括Text、Image、TextInput、Button、LoadingProgress等

Text

常用属性
在这里插入图片描述
TextAlign :设置文本对齐方式
TextOverflow:设置文本溢出时显示
TextDecorationTyp:设置文本装饰线

Image

图片基本显示 ,设置三个属性即可
Image($r(“app.media.icon”))
.width(100)
.height(100)

objectFit :设置缩放类型
.objectFit(ImageFit.Cover)

加载网络图片时,填写地址即可,但是需要在module.json5权限文件中申请权限

{
    "module" : {
        "requestPermissions":[
           {
             "name": "ohos.permission.INTERNET"
           }
        ]
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

TextInput

TextInput组件用于输入单行文本,响应输入事件。TextInput的使用也非常广泛,例如应用登录账号密码、发送消息等。和Text组件一样,TextInput组件也支持文本样式设置,下面的示例代码实现了一个简单的输入框:

属性名称作用
placeholder设置静默提示文本
placeholderColor设置提示文本的颜色
placeholderColor设置提示文本的样式
typeNormal,Password,Number
onChange获取实时文本值

Button

属性名称作用
typetype用于定义按钮样式(Capsule:胶囊型按钮,Cilcle:圆形)
onClick用于点击事件处理

在buton中还可以内嵌组件

Button({ type: ButtonType.Circle, stateEffect: true }) {
  Image($r('app.media.icon_delete'))
    .width(30)
    .height(30)
}
.width(55)
.height(55)
.backgroundColor(0x317aff)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

显示效果
在这里插入图片描述

LoadingProgress

LoadingProgress组件用于显示加载进展,比如应用的登录界面,当我们点击登录的时候,显示的“正在登录”的进度条状态。LoadingProgress的使用非常简单,只需要设置颜色和宽高就可以了。

在这里插入图片描述

使用资源引用类型

Resource是资源引用类型,用于设置组件属性的值。推荐大家优先使用Resource类型,将资源文件(字符串、图片、音频等)统一存放于resources目录下,便于开发者统一维护。同时系统可以根据当前配置加载合适的资源,例如,开发者可以根据屏幕尺寸呈现不同的布局效果,或根据语言设置提供不同的字符串。

例如下面的这段代码,直接在代码中写入了字符串和数字这样的硬编码。

Button('登录', { type: ButtonType.Capsule, stateEffect: true })
  .width(300)
  .height(40)
  .fontSize(16)
  .fontWeight(FontWeight.Medium)
  .backgroundColor('#007DFF')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

我们可以将这些硬编码写到entry/src/main/resources下的资源文件中。

在string.json中定义Button显示的文本。

{
  "string": [
    {
      "name": "login_text",
      "value": "登录"
    }
  ]
} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在float.json中定义Button的宽高和字体大小。

{
  "float": [
    {
      "name": "button_width",
      "value": "300vp"
    },
    {
      "name": "button_height",
      "value": "40vp"
    },
    {
      "name": "login_fontSize",
      "value": "18fp"
    }
  ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在color.json中定义Button的背景颜色。

{
  "color": [
    {
      "name": "button_color",
      "value": "#1890ff"
    }
  ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

然后在Button组件通过“$r(‘app.type.name’)”的形式引用应用资源。app代表应用内resources目录中定义的资源;type代表资源类型(或资源的存放位置),可以取“color”、“float”、“string”、“plural”、“media”;name代表资源命名,由开发者定义资源时确定。

Button($r('app.string.login_text'), { type: ButtonType.Capsule })
  .width($r('app.float.button_width'))
  .height($r('app.float.button_height'))
  .fontSize($r('app.float.login_fontSize'))
  .backgroundColor($r('app.color.button_color'))
  • 1
  • 2
  • 3
  • 4
  • 5

容器组件

Column

Row

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/228514
推荐阅读
相关标签
  

闽ICP备14008679号