Flex(弹性伸缩结构)组件当容器的宽或者高超出父容器时会默认进行压缩显示。Row相称于Flex中的主轴,Column相称于Flex中的交叉轴。
Flex重要属性:
① direction(主轴的方向):用于指定子组件在Flex容器上排列的方向,即主轴的方向。可选值包括Row(主轴方向为水平向右)、RowReverse(主轴方向为水平向左)、Column(主轴方向为垂直向下)和ColumnReverse(主轴方向为垂直向上)。
② justifyContent(主轴的对齐方式):用于定义所有子组件在Flex容器主轴上的对齐方式。,可选值:justifyContent:FlexAlign.Start / Center / End / SpaceBetween / SpaceAround / SpaceEvenly,共有6种方式。
③ alignItems(交叉轴的对弃方式):用于定义所有子组件在Flex容器交叉轴上的对齐方式。可选值:alignItems.Auto / Start / Center / End / Baseline /Stretch,共有6种方式。
④ wrap(结构换行):用于确定Flex容器是单行/列排列还是多行/列排列。在多行结构时,它还会通过交叉轴方向确定新行的堆叠方向。可选值:wrap:FlexWrap.NoWrap / Wrap / WrapReverse。
演示:
三、Stack(层叠结构组件)
Stack结构是一种可以将多个组件按照肯定顺序叠放的结构。在Stack结构中,后添加的组件会自动覆盖前面添加的组件,可以通过设置zIndex控制层级。
① 层叠效果:组件必要有堆叠效果时优先考虑此结构,层叠结构的堆叠效果不会占用或影响其他同容器内子组件的结构空间。
② zIndex控制:通过设置子组件的zIndex可以控制层级,zIndex越大越在上层。
③ 动画支持:Stack结构还支持添加动画,通过动画可以实现组件的平移、旋转等动态效果。
Stack重要的结构属性:alignContent:Alignment.Bottom / ToStart / Top / TopEnd / Start / End / Center / BottomSatrt /Bottom / BottomEnd 共有9种样式
测试代码:
function getRandomColor() {
const letters :string= '0123456789ABCDEF';
let color:string = '#';
for (let i = 0; i < 6; i++) {
let Itemp:number=Math.floor(Math.random() * 16)
color += letters.substr(Itemp,1);
}
return color;
}
@Extend(Button) function CustomText(iW:number,iH:number,iZ:number) {