# ❌ 绝对布局(云拾不支持) 按钮: x: 150 # 距离左边150像素 y: 200 # 距离顶部200像素
好比说:"把按钮放在屏幕的(150,200)位置"
🚫 问题:换个屏幕尺寸就错位了
🚫 问题:改个位置要重新计算所有坐标
# ✅ 相对布局(云拾使用) 按钮: horizontalAlign: Center # 水平方向:居中 verticalAlign: Center # 垂直方向:居中 marginTop: 20 # 距离上面20像素
好比说:"把按钮放在正中央,往下挪一点"
✅ 优点:在任何屏幕都居中
✅ 优点:调整位置很简单
"沙发离东墙3米,离北墙2米"
换个大房子:位置就不对了
换个方向:完全错位
"沙发放在客厅中央,靠南墙"
换房子:自动适应新空间
调整:说"往左挪"就行
按钮1: {x: 50, y: 100} # 小屏:正常 按钮2: {x: 150, y: 100} # 中屏:可能重叠 按钮3: {x: 250, y: 100} # 大屏:太靠左了
问题:每个屏幕尺寸都要重新计算位置
容器: horizontalAlign: Center # 容器居中 children: - 按钮1: {marginRight: 20} # 按钮1,右边距20 - 按钮2: {marginRight: 20} # 按钮2,右边距20 - 按钮3: {} # 按钮3,没有右边距
!注意: 该配置仅演示,不是云拾的正确写法
效果:在任何屏幕都自动居中排列
元素: horizontalAlign: Center # 水平方向:左/中/右/拉伸 verticalAlign: Center # 垂直方向:上/中/下/拉伸
元素: marginTop: 10 # 离上面10像素 marginLeft: 20 # 离左边20像素 marginRight: 20 # 离右边20像素 marginBottom: 10 # 离下面10像素
元素: horizontalAlign: Stretch # 宽度 = 父容器宽度 verticalAlign: Stretch # 高度 = 父容器高度
文本: horizontalAlign: Center # 水平居中 verticalAlign: Center # 垂直居中 text: "我在正中央"
效果:文本永远在屏幕正中央,不管屏幕多大
按钮: horizontalAlign: Right # 水平靠右 verticalAlign: Bottom # 垂直靠下 marginRight: 20 # 离右边20像素 marginBottom: 20 # 离下边20像素 text: "右下角按钮"
效果:按钮永远在右下角,保持20像素距离
背景: horizontalAlign: Stretch # 宽度填满 verticalAlign: Stretch # 高度填满 background: "#F0F0F0"
效果:背景铺满整个屏幕
❌ "这个按钮在(100,200)位置"
✅ "这个按钮水平居中,离顶部50像素"
❌ 绝对思维:固定位置,像钉钉子
✅ 相对思维:描述关系,像摆积木
❌ 绝对:"站到第3米位置"(地面没刻度就乱套)
✅ 相对:"站在小红后面"(自动适应任何场地)
❐ 绝对:"这本书放第2层第5格"(书架换了就错)
✅ 相对:"这本书放在字典旁边"(自动适应新书架)
❌ 绝对:"盘子离桌边30厘米"(桌子大小变了就错)
✅ 相对:"盘子放在餐桌中央"(任何桌子都正确)
相对布局就是:不说"在哪里",只说"怎么放"
🎯 对齐:说清楚"靠左/居中/靠右/拉伸"
📏 边距:说清楚"离周边多远"
🔄 关系:位置由父容器和兄弟元素决定
这样,你的界面就能在任何设备上自动适配,永远保持漂亮的外观!
记住:在云拾UI中,你只能使用相对布局,这其实是好事 - 它强制你写出更健壮、更自适应的界面!