0
点赞
收藏
分享

微信扫一扫

Egret UI(二):基本、水平、垂直、网格布局


容器、按钮定义

Egret UI(二):基本、水平、垂直、网格布局_游戏引擎

// 容器
let myGroup = new eui.Group();
this.addChild(myGroup);
myGroup.width = this.stage.stageWidth;
myGroup.height = 500;
var outline: egret.Shape = new egret.Shape;
outline.graphics.lineStyle(3, 0x00ff00);
outline.graphics.beginFill(0x000000, 0);
outline.graphics.drawRect(0, 0, myGroup.width, myGroup.height);
outline.graphics.endFill();
myGroup.addChild(outline);
// 按钮组
var btn1: eui.Button = new eui.Button();
btn1.label = "button A";
var btn2: eui.Button = new eui.Button();
btn2.label = "button B";
var btn3: eui.Button = new eui.Button();
btn3.label = "button C";
myGroup.addChild(btn1);
myGroup.addChild(btn2);
myGroup.addChild(btn3);

基本布局

单个元素水平垂直居中

Egret UI(二):基本、水平、垂直、网格布局_边距_02

btn1.horizontalCenter = 0; // 在父级容器中距水平中心位置的距离
btn1.verticalCenter = 0; // 在父级容器中距竖直中心位置的距离
myGroup.layout = new eui.BasicLayout();

边距设置

Egret UI(二):基本、水平、垂直、网格布局_边距_03

btn2.top = 100;
btn2.left = 40;
btn2.bottom = 200;
btn2.right = 20;

百分比设定

Egret UI(二):基本、水平、垂直、网格布局_边距_04

btn3.percentWidth = 60;
btn3.percentHeight = 80;

水平布局 & 垂直布局

  • 水平布局:​​eui.HorizontalLayout​
  • 垂直布局:​​eui.VerticalLayout​
  • 参数:
  • ​gap​​:设置子项之间的间距
  • ​horizontalAlign​​:设置水平对齐方式
  • ​verticalAlign​​:设置垂直对齐方式
  • ​padding​​​:设置容器内间距,相对于4个边分别可以使用​​paddingTop​​​,​​addingBottom​​​,​​addingLeft​​​,​​paddingRight​

水平布局

Egret UI(二):基本、水平、垂直、网格布局_水平垂直居中_05

/** 水平布局 */
var hLayout: eui.HorizontalLayout = new eui.HorizontalLayout();
hLayout.gap = 10; // 布局元素之间的间隔(以像素为单位)
hLayout.paddingTop = 10;
hLayout.paddingBottom = 10;
hLayout.horizontalAlign = egret.HorizontalAlign.CENTER;
hLayout.verticalAlign = egret.VerticalAlign.MIDDLE;
myGroup.layout = hLayout;

垂直布局

Egret UI(二):基本、水平、垂直、网格布局_egret_06

/** 垂直布局 */
var vLayout:eui.VerticalLayout = new eui.VerticalLayout();
vLayout.gap = 10;
vLayout.paddingTop = 10;
vLayout.paddingBottom = 10;
vLayout.horizontalAlign = egret.HorizontalAlign.CENTER;
vLayout.verticalAlign = egret.VerticalAlign.MIDDLE;
myGroup.layout = vLayout;

网格布局

  • 网格布局:​​eui.TileLayout​
  • 参数:
  • ​horizontalGap​​:设置子项之间的水平间距
  • ​verticalGap​​:设置子项之间的垂直间距
  • ​columnAlign​​:指定如何将完全可见列与容器宽度对齐。
  • ​rowAlign​​:指定如何将完全可见行与容器高度对齐。
  • ​padding​​​:设置容器内间距,如果需要分开设置可以使用​​paddingTop​​​,​​paddingBottom​​​,​​paddingLeft​​​,​​paddingRight​
  • ​requestedColumnCount​​:明确指定要显示的列数

Egret UI(二):基本、水平、垂直、网格布局_水平垂直居中_07

var tLayout:eui.TileLayout = new eui.TileLayout();
tLayout.horizontalGap = 10;
tLayout.verticalGap = 10;
tLayout.columnAlign = eui.ColumnAlign.JUSTIFY_USING_WIDTH;
tLayout.rowAlign = eui.RowAlign.JUSTIFY_USING_HEIGHT;
tLayout.paddingTop = 10;
tLayout.paddingRight = 20;
tLayout.paddingBottom = 30;
tLayout.paddingLeft = 40;
tLayout.requestedColumnCount = 2; // 设置两列显示
myGroup.layout = tLayout; // 网格布局


举报

相关推荐

0 条评论