• 作者:老汪软件技巧
  • 发表时间:2024-08-25 00:07
  • 浏览量:

前言

 最近有点忙,好长时间没有学习harmoneyos了, 其实我是有点懒不想学习,哈哈哈哈哈
 最近发现上班经常摸鱼看小说,沉迷电子书,但是又不能长时间抱着手机玩,怕被领导发现,
 于是我有个想法,那就是我自己搞一个小说阅读器的简单版本,在电脑的模拟器上看,说搞就搞,
 先迈出去第一步再考虑能不能做成功;

准备工作

 开发工具:devEco-studio,masterGo,ui设计网站

更新项目结构

新建login/common,login/pages,新建login.ets

设计工作

我想要一个有设计感的页面,但是我没那个设计感咋办呢? 此时就体现出来了设计网站的好处, 我不会设计我还不会照着抄嘛,我在众多选择中选了一个花瓣:/pins/522267…,

设计工具(masterGo)

此处我就照着学习,我也怕侵权,所以我就照着抄一下;我也不是啥专业的产品,也不是啥专业的设计,我一个纯java,业余学习的我就不那么较真儿了,就凑活能用就行,能切图就行;

不得不说我这纯业余的,搞出来的也凑活着能看,哈哈哈 就它了 毕竟花了一个小时搞这个玩意;

URL:/goto/CJ4P1y…邀请您进入《牛马阅读-登陆页》,点击链接开始协作(这个是我的设计地址,你们先设计麻烦的可以凑活用一下我的,此处仅个人学习用,如有侵权,联系可删,请勿商用!!!);

##代码开发

此时前期的必要条件基本上我们都具备了,虽然简陋的具备, 但是不重要;开搞开搞!!

先搞一个列布局, 从上往下布局,我就column了

@Component
@Entry
struct Login {
build() {
  Column() {
    //首先我们预留一个顶部栏的位置, 用来展示手机的一部分信息
    Row() {
    }.width("100%").height("3%")
  }.width("100%")
  .height("100%")
  //背景色渐变
  .linearGradient({
    direction: GradientDirection.Top,
    colors: [["#2dbd94", 0.3], ["#009ffd", 1.0]]
  })}
}

这看起来好像不一样, 哈哈哈哈不重要了,就他了

开始写里边的内容

 //提示语
  Row() {
    Text("Hi~ 欢迎回来")
      .fontSize(30)
      .fontColor(Color.White)
      .fontWeight(FontWeight.Bold)
      .margin({ left: "5%" })
  }.width("100%").height("20%")
  //icon
  Row() {
    Image('/pages/login/common/img/niuma_icon.svg')
      .width(128)
      .height(128)
  }.width("100%").height("20%")
  .justifyContent(FlexAlign.Center)
  //app名称
  Row() {
    Text("niúMǎApp").fontColor("#EFEFEF")
      .fontSize(28)
  }
  .width("100%")
  .height("150px")
  .justifyContent(FlexAlign.Center)
  //用户名输入框
  Row() {
    TextInput({ placeholder: '请输入用户名'})
      .width("80%")
      .height("150px")
      .showUnderline(true)
      .margin({left:"30px"})
  }
  .width("80%")
  .margin({ top: "20px" })
  .backgroundColor("#dc2fbaa9")
  .borderRadius(0)
  //密码输入框
  Row() {
    TextInput({placeholder:"请输入密码"})
      .width("100%")
      .height("150px")
      .showUnderline(true)
      .type(InputType.Password)
      .borderRadius(0)
      .backgroundColor("#dc2fbaa9")
  }
  .width("80%")
  .margin({ top: "20px" })
  //login
  Button("Login",{})
    .stateEffect(true)
    .width("80%")
    .height("130px")
    .margin({top:"50px"})
    .fontSize(20)
    .backgroundColor("#dc2fbaa9")
    .type(ButtonType.Normal)
    .border({color:Color.White,width:"1px"})
  //复选框
  Row(){
    Checkbox({ name: 'checkbox2', group: 'checkboxGroup' })
      .select(false)
      .selectedColor(0x39a2db)
      .shape(CheckBoxShape.ROUNDED_SQUARE)
      .onChange((value: boolean) => {
        console.info('Checkbox2 change is' + value)
      })
    Text("我已阅读并接受《个人信息保护提示》")
      .fontSize(13)
      .margin({left:"20px"})
  }.justifyContent(FlexAlign.Start)
  .margin({top:"40px"})
}
.width("100%")
.height("100%")

哎嘿,看起来是那么个样子了,就用这个了,明天搞点击事件;