发布时间:2026/9/1 18:06:15
HarmonyOS 小游戏《对战五子棋》开发第27篇 - 模式选择与UI布局 第一印象很重要——首页是用户对游戏的第一眼首页截图Index页面结构EntryComponentstruct Index{build(){Column(){// 顶部标题区域 (35%高度)Column(){Text(五子棋).fontSize(56).fontWeight(FontWeight.Bold)Text(Gomoku).fontSize(18).fontColor(#999999)}.height(35%)// 模式选择按钮 (居中)Column({space:24}){// 双人对战按钮Button(){...}.backgroundColor(#4A90D9).onClick((){router.pushUrl({url:pages/TwoPlayerPage});})// 人机闯关按钮Button(){...}.backgroundColor(#E8913C).onClick((){router.pushUrl({url:pages/AIBattlePage});})}// 底部信息 (15%高度)Column(){Text(选择模式开始游戏)}.height(15%)}.backgroundColor(#F5F0E8)}}布局分析┌─────────────────────────┐ │ │ ← 35% 标题区 │ 五子棋 │ │ Gomoku │ │ │ ├─────────────────────────┤ │ │ │ ┌───────────────────┐ │ ← 按钮区 │ │ ⚔ 双人对战 │ │ │ └───────────────────┘ │ │ ┌───────────────────┐ │ │ │ 人机闯关 │ │ │ └───────────────────┘ │ │ │ ├─────────────────────────┤ │ 选择模式开始游戏 │ ← 15% 底部信息 └─────────────────────────┘百分比高度布局Column(){Column(){/* 标题 */}.height(35%)Column(){/* 按钮 */}// 自适应高度Column(){/* 底部 */}.height(15%)}.height(100%)标题占35%、底部占15%按钮区域自动占据剩余50%。这种百分比布局在不同屏幕尺寸下都能保持比例。按钮设计Button(){Row({space:16}){Text(⚔).fontSize(36)Column(){Text(双人对战).fontSize(22).fontWeight(FontWeight.Bold).fontColor(#FFFFFF)Text(与好友面对面切磋).fontSize(14).fontColor(#FFFFFFCC)// 80%不透明度.margin({top:4})}.alignItems(HorizontalAlign.Start)}.width(100%).padding({left:24,right:24,top:20,bottom:20})}.type(ButtonType.Capsule).width(80%).height(90).backgroundColor(#4A90D9)设计要点图标文字Row布局emoji图标在左文字在右主副标题Column布局大标题小描述胶囊形状ButtonType.Capsule圆角按钮80%宽度两侧留出边距固定高度90vp按钮大小一致颜色语义// 双人对战蓝色社交、友好.backgroundColor(#4A90D9)// 人机闯关橙色挑战、竞技.backgroundColor(#E8913C)不同颜色帮助用户快速区分模式。文字层级五子棋 → fontSize(56), Bold ← 主标题 Gomoku → fontSize(18), #999999 ← 副标题 双人对战 → fontSize(22), Bold ← 按钮标题 与好友切磋 → fontSize(14), #FFFFFFCC ← 按钮描述 选择模式 → fontSize(14), #AAAAAA ← 底部提示字号层级56 22 18 14形成清晰的视觉层次。justifyContent居中Column(){/* 标题 */}.justifyContent(FlexAlign.Center)// 垂直居中Column({space:24}){/* 按钮 */}.justifyContent(FlexAlign.Center)// 垂直居中justifyContent(FlexAlign.Center)让子元素在主轴垂直方向上居中。总结Index首页的设计要点百分比布局35%/50%/15%三段式按钮设计图标主副标题胶囊形状颜色语义蓝色社交、橙色挑战文字层级56/22/18/14四级字号居中布局justifyContent实现垂直居中首页虽然简单但布局、配色、字号层级都经过精心设计给用户良好的第一印象。

相关新闻

2026/9/1 8:36:16

大模型 Prompt 工程:从入门到精通的实用技巧

引言:为什么 Prompt 如此重要?在当今大模型(LLM)应用开发中,Prompt(提示词)的质量直接决定了模型输出的准确性和实用性。一个精心设计的 Prompt 可以引导模型生成高质量、符合预期的内容&#x…

2026/8/31 23:15:52

Python-Levenshtein 0.12.2 实战:5分钟实现TEDS表格相似度计算

Python-Levenshtein 0.12.2 实战:5分钟实现TEDS表格相似度计算 在数据处理和分析领域,表格相似度计算是一个常见但颇具挑战性的任务。无论是文档比对、数据清洗还是OCR结果验证,快速准确地评估两个表格的相似程度都能显著提升工作效率。本文将…

2026/8/30 16:56:30

STM32F756ZG与AD7490构建高性能数据采集系统

1. AD7490与STM32F756ZG的硬件协同设计在工业测量和自动化控制领域,模拟信号采集系统的性能直接影响整个系统的精度和响应速度。AD7490作为一款16位高速ADC芯片,与STM32F756ZG这款带FPU的ARM Cortex-M7内核MCU的组合,能够构建高性能的数据采集…

2026/9/1 18:13:07

货拉拉司机转行网约车全攻略:双证办理与成本测算

师傅之前是开货拉拉的,想试试网约车,这个转型路径在出行行业里其实不算少见。货运和客运虽然都是“开车”,但底层的平台规则、准入条件、成本结构、接单逻辑差别很大。这篇文章把整个转型过程拆成可操作的步骤:从车型和资质核验&a…

2026/9/1 18:13:07

货运转网约车:先别注销账号,跑一周数据再决定

师傅之前是开货拉拉的,想试试网约车。这句话听起来像一次很自然的职业平移:都是开车,都是接单,都是按路线跑,把车上的货换成人而已。但我更愿意把这件事理解成一次系统切换。货运和客运,表面共享同一套基础…

2026/9/1 18:13:07

微信小程序从开发到上线全流程避坑指南

开发过微信小程序的人,应该都经历过这样一个瞬间:代码在开发者工具里跑得好好的,一上真机就报错;或者好不容易把业务逻辑写完了,却发现体验版二维码发出去,用户打开一片空白;再或者被“获取登录…

2026/9/1 18:13:07

USB外设数据采集与自定义映射程序的设计思路

简介:这是一份面向Python开发者与游戏辅助技术学习者的开源压枪工具项目,聚焦于《绝地求生》(PUBG)中基于图像识别的外置式压枪实现,不读取内存、不注入进程,仅通过屏幕图像采集(IMG&#xff09…

2026/9/1 18:08:07

晶圆级架构如何突破内存墙,让AI推理性能飙升?

晶圆级架构的讨论最近又热起来了,核心触发点是 Cerebras 首席执行官再次出面解释为什么他们的方案在推理任务上能比传统方案快出 2500 倍。这个数字很有冲击力,但也容易让人产生两种极端反应:要么当成营销话术直接忽略,要么误以为…

2026/9/1 16:02:17

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/9/1 8:27:47

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/9/1 7:04:43

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

2026/9/1 0:00:42

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行&#xff0c;Type-C接口算是典型的“看着简单&#xff0c;做起来全坑”的东西。光引脚就24个&#xff0c;高低速信号、电源、控制线全部塞在一个小小的连接器里&#xff0c;如果PCB布局不做规划&#xff0c;打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/1 0:00:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/1 0:00:42

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…