/* * Copyright (c) 2021 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ class Test { align:number = 0; fit:number = 0; overflow:number = 0; text:number = 0; width:number = 0; constructor(align:number, fit:number, overflow:number, text:number, width:number) { this.align = align; this.fit = fit; this.overflow = overflow; this.text = text; this.width = width; } } @Entry @Component struct TestView { @State currentTest:Test = new Test(0, 0, 0, 0, 0); aligns:string[] = [ "TopLeft", "TopCenter", "TopRight", "CenterLeft", "Center", "CenterRight", "BottomLeft", "BottomCenter", "BottomRight" ]; stackFits:string[] = [ "Keep", "Stretch", "Inherit", "FirstChild" ]; overflows:string[] = [ "Clip", "Observable" ]; texts:string[] = [ "Test text", "This is a very long text for demonstration purposes." ]; widths:number[] = [ 200, 500, 800 ]; alignToText(align) { if (align >= this.aligns.length) return "Unknown (" + align + ")"; return "Align." + this.aligns[align] + "(" + /*Align[this.aligns[align]]*/ + ")"; } // alignToText fitToText(fit) { if (fit >= this.stackFits.length) return "Unknown (" + fit + ")"; return "StackFit." + this.stackFits[fit] + "(" + /*StackFit[this.stackFits[fit]]*/ + ")"; } overflowToText(overflow) { if (overflow >= this.overflows.length) return "Unknown (" + overflow + ")"; return "Overflow." + this.overflows[overflow] + "(" + /*Overflow[this.overflows[overflow]]*/ + ")"; } build() { Column(){ Row(){ Button("Alignment") .onClick(() => { this.currentTest.align = (this.currentTest.align + 1) % this.aligns.length; }) Text(this.alignToText(this.currentTest.align)) } Row(){ Button("Fit") .onClick(() => { this.currentTest.fit = (this.currentTest.fit + 1) % this.stackFits.length; }) Text(this.fitToText(this.currentTest.fit)) } Row(){ Button("Overflow") .onClick(() => { this.currentTest.overflow = (this.currentTest.overflow + 1) % this.overflows.length; }) Text(this.overflowToText(this.currentTest.overflow)) } Row(){ Button("Text") .onClick(() => { this.currentTest.text = (this.currentTest.text + 1) % this.texts.length; }) Text(this.texts[this.currentTest.text]) } Row(){ Button("Width") .onClick(() => { this.currentTest.width = (this.currentTest.width + 1) % this.widths.length; }) Text("" + this.widths[this.currentTest.width]) } Stack(){ Column(){ } .width(350).height(400).backgroundColor(0xaaaaaa) Text(this.texts[this.currentTest.text]).backgroundColor(0x00aaff).fontColor("#ffffff") .width(this.widths[this.currentTest.width]) } //.alignment(Align[this.aligns[this.currentTest.align]]).stackFit(StackFit[this.stackFits[this.currentTest.fit]]) //.Overflow(Overflow[this.overflows[this.currentTest.overflow]]).backgroundColor(0x0000cd).width(500.0).height(400.0) Stack(){ Text("test1") Text("Test2") } } .alignItems(HorizontalAlign.Center) } }