@Entry@Componentstruct Page02 {  @State offsetX: number = 0;  @State offsetY: number = 0;  @State positionX: number = 0;  @State positionY: number = 0;  @State @Watch('containerHeightChanged') containerHeight: number = 50;  @State originalHeight: number = 50;
  containerHeightChanged() {    if (this.containerHeight < 50) {      this.containerHeight = 50    }  }
  build() {    Column() {      RelativeContainer() {        Rect()          .fill("#2fd164")          .borderColor("#39bd66")          .borderWidth(1)          .borderRadius(5)          .clip(true)          .width("100%")          .height("100%")
        Text("再次点击新建日程")          .fontColor(Color.White)          .margin({ top: 30, left: 130 })          .fontSize(15)          .alignRules({            center: { anchor: "__container__", align: VerticalAlign.Top },            middle: { anchor: "__container__", align: HorizontalAlign.Start }          })
        Stack() {          Circle({ height: 5, width: 5 })            .fill(Color.White)            .stroke(Color.White)            .strokeWidth(2)        }        .hitTestBehavior(HitTestMode.Block)        .padding(20)        .margin({ left: 60 })        .alignRules({          center: { anchor: "__container__", align: VerticalAlign.Top },          middle: { anchor: "__container__", align: HorizontalAlign.Start }        })        .gesture(PanGesture({          fingers: 1,          direction: PanDirection.Vertical,          distance: 1        }).onActionUpdate((event: GestureEvent) => {          if (event) {            this.offsetY = this.positionY + event.offsetY;            this.containerHeight = this.originalHeight - event.offsetY;          }        }).onActionEnd(() => {          this.positionX = this.offsetX;          this.positionY = this.offsetY;          this.originalHeight = this.containerHeight;        })        )
        Stack() {          Circle({ height: 5, width: 5 })            .fill(Color.White)            .stroke(Color.White)            .strokeWidth(2)        }        .hitTestBehavior(HitTestMode.Block)        .padding(20)        .margin({ right: 60 })        .alignRules({          center: { anchor: "__container__", align: VerticalAlign.Bottom },          middle: { anchor: "__container__", align: HorizontalAlign.End }        })        .gesture(PanGesture({          fingers: 1,          direction: PanDirection.Vertical,          distance: 2        }).onActionUpdate((event: GestureEvent) => {          this.containerHeight = this.originalHeight + event.offsetY;        }).onActionEnd(() => {          this.originalHeight = this.containerHeight;        })        )      }      .height(this.containerHeight)      .width("80%")      .translate({ x: this.offsetX, y: this.offsetY })      .gesture(PanGesture({        fingers: 1,        direction: PanDirection.Vertical,        distance: 1      }).onActionUpdate((event: GestureEvent) => {        if (event) {          this.offsetX = this.positionX + event.offsetX;          this.offsetY = this.positionY + event.offsetY;        }      }).onActionEnd(() => {        this.positionX = this.offsetX;        this.positionY = this.offsetY;      })      )    }    .height('100%')    .width('100%')  }}
评论