当前位置: 首页 > news >正文

鸿蒙移动应用开发--UI组件及应用

实验要求:

        制作一个类似于deepseek的登陆界面,要求有输入框(含输入提示)、按钮、背景等部分,应用好内边距、外边距等 相关知识。实验报告格式不限,背景图及logo不限。

源代码:


@Entry
@Component
struct Index {
  @State message: string = 'Hello World';
  build() {
    Stack() {
      // 背景图
      Image($r('app.media.bg'))
        .width('100%')
        .height('100%')
        .objectFit(ImageFit.Cover)// 设置图片填充方式为覆盖整个区域

      Column() {
        Column() {
          // Logo
          Image($r('app.media.logo'))
            .width(120)
            .height(120)
            .margin({ top: 150 ,bottom:50})

          // 用户名输入框
          TextInput({
            placeholder: '请输入用户名',
          })
            .width('80%')
            .height(50)
            .backgroundColor(Color.White)
            .padding(10)
            .margin({ bottom: 20 })
            .borderRadius(25)

          // 密码输入框
          TextInput({
            placeholder: '请输入密码',
          })
            .width('80%')
            .height(50)
            .backgroundColor(Color.White)
            .padding(10)
            .margin({ bottom: 40 })
            .borderRadius(25)
            .type(InputType.Password)// 设置输入框类型为密码输入

          // 登录按钮
          Button('立即登录', { type: ButtonType.Capsule })// 创建一个胶囊形状的按钮
            .width('60%')
            .height(50)
            .backgroundColor('#007DFF')
            .fontColor(Color.White)
            .fontSize(18)

          // 辅助链接
          Row() {
            Text('忘记密码')
              .fontSize(14)
              .fontColor('#666')
              .margin({ right: 30 })

            Text('注册账号')
              .fontSize(14)
              .fontColor('#007DFF')

          }.margin({ top: 20 })
        }
        .width('100%')
        .alignItems(HorizontalAlign.Center)
      }
      .width('100%')
      .height('100%')
      //.backgroundColor('rgba(255,255,255,0.9)')
    }
    .width('100%')
    .height('100%')
  }
}

 运行结果:

附件:

app.media.bg

app.media.logo

相关文章:

  • Unity打包Android平台调用sherpa-onnx
  • 【VUE2】第五期——VueCli创建项目、Vuex多组件共享数据、json-server——模拟服务端api
  • MySQL隐式依赖引发的字段长度溢出:一次触发器事故的深度剖析
  • RK3588 openssl-3.4.1 编译安装
  • esProc SPL vs DuckDB:多源数据处理谁更胜一筹?
  • 编程自学指南:java程序设计开发,反射与注解,反射机制,注解
  • 【商城实战(31)】从0到1:商城项目部署全攻略
  • 提升模型准确性的关键技术与实践指南
  • Qt5中视口(ViewPort)与窗口(Window)
  • WordPress顶部菜单自定义的方法
  • Android studio运行报错处理
  • 反射、反射调用以及修改成员变量,成员方法,构造函数、反射的应用
  • Ubuntu22.04 安装 Isaac gym 中出现的问题
  • jEasyUI 基本的拖动和放置
  • JPom使用Docker方式构建SpringBoot项目详解
  • 从被动响应到主动防御——IT 应急演练平台 v3.0.1 重构企业安全免疫系统
  • PHP:从入门到进阶的全方位指南
  • 在 Django 中通过 `/media/xxxx` URL 访问上传资源的安全性与实践
  • 原生微信小程序实现导航漫游(Tour)
  • 鸿蒙开发:了解应用级配置信息
  • 训练孩子的科学思维,上海虹口推出“六个一百”旗舰工程
  • 扶桑谈|从石破茂“越菲行”看日本周边外交布局战略新动向
  • 广西壮族自治区党委政法委副书记李文博接受审查调查
  • 浙江公开征集涉企行政执法问题线索,包括乱收费、乱罚款等
  • 我国成功发射遥感四十号02组卫星
  • 普京提议重启俄乌直接谈判后,特朗普表态了