harmonyOS学习笔记之stateStyles

stateStyles:多态样式

stateStyles可以依据组件的内部状态的不同,设置不同的样式
stateStyles是属性方法,可以根据状态来设置样式,类似于css伪类,但是语法不一样,ArkUI提供了四种状态:

focused:获焦态
normal:正常态
pressed:按压态
disable:不可用态

例如:

@Entry
@Component
struct StateStylesFun {
  @State message: string = '点我!!!'

  build() {
    Row() {
      Column() {
        Text('stateStyle')
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
        TextInput({ text: this.message, placeholder: "请输入" })//这个输入框是用来确认以下输入框焦点是否获取或者失去
        TextInput({ text: this.message, placeholder: "请输入" })
          .fontSize(50)
          .fontWeight(900)
          .border({color:Color.Red,width:2})
          .stateStyles({
          	// 正常态
            normal:{
              .backgroundColor(Color.Pink)
            },
            // 获焦态
            focused:{
              .backgroundColor(Color.Green)
            },
            // 按压态
            pressed:{
              .backgroundColor(Color.Yellow)
            },
            disabled:{
              .backgroundColor(Color.Black)
            }
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

以下是获焦态图片示例
harmonyOS学习笔记之stateStyles_第1张图片
以下是正常态
harmonyOS学习笔记之stateStyles_第2张图片
下面是按压态
harmonyOS学习笔记之stateStyles_第3张图片

你可能感兴趣的:(HarmonyOS,学习,笔记,harmonyos)