UIPanel 配置分析与设定
2022-11-19 00:28:33 10 举报
AI智能生成
UIPanel是一种常用的UI元素,用于在屏幕上创建可交互的面板。它通常用于分隔和组织其他UI元素,并提供额外的功能和样式。要配置和设定UIPanel,首先需要选择合适的布局方式,如垂直、水平或网格布局。然后,可以根据需求设置背景颜色、边框样式和阴影效果等外观属性。此外,还可以通过添加控件和事件处理程序来增加交互功能,如按钮、文本框和滑块等。最后,可以使用脚本语言(如C#)来编写代码,以实现更复杂的逻辑和功能。通过合理配置和设定UIPanel,可以提升用户体验,使界面更加美观和易用。
作者其他创作
大纲/内容
三个要素
背景:界面打开时自动创建/获取一个全局唯一的RawImage,挂入界面根节点下 FirstSibling。
焦点:准确地说是“运行焦点”。界面失去焦点时,可选择性地“挂起”(暂停内部耗时Update类操作),并在重新获得焦点时恢复,以此优化。另外,还可在获得焦点时做一些事件触发,比如拍脸弹窗等。
返回键按下:安卓 Google play 推荐要求处理返回键逻辑,通常需要关闭顶层界面,但有很多例外。
类型需求
【铺垫/场景型/全屏界面、一级功能界面等】:有背景(透明、阻挡下方事件、点击背景不响应);获得焦点;返回键按下时可能关闭自身/不响应/自定义
【叠加/局部类型界面(如Home主菜单、较重界面拆分界面等】:无背景;与下方可获得焦点的界面共同获得焦点;返回键按下时不响应/不检测/自定义
【弹出型功能界面、确认框等】:有背景(黑色半透、阻挡下方事件、点击背景默认关闭自身);获得焦点;返回键按下时大概率关闭自身,可能自定义
【浮动功能气泡(如聊天气泡)、Toast等】:无背景、不抢夺焦点;返回键按下时大概率不检测
【网络转圈等待、引导界面等】:有背景(黑色半透、阻挡下方事件、点击背景不响应)、不抢夺焦点;返回键按下时大概率不响应
变量定义
HasBg 是否有背景(Bool)
BgShowType 背景展示类型(Enum)(若有背景)
Alpha 透明(Color(0, 0, 0, 0))
HalfAlphaBlack 半透黑色(Color(0, 0, 0, 0.7))
CustomColor 自定义颜色(Color)
CustomTexture 自定义贴图(Texture)(不一定需要,暂不实现)
BlurryScreenshot 模糊屏幕快照(Texture)(不一定需要,暂不实现)
?...(可增加预制类型)
BgClickEventType 背景点击事件类型(Enum)(若有背景)
PassThrough 不阻挡、穿透
DontRespone 阻挡但不响应
CloseSelf 关闭自身
Custom 触发自定义回调
GetFocusType 获得焦点类型(Bool)
DontGet 不抢夺焦点
Get 获得焦点
GetWithOthers 与下方可获得焦点的界面共同获得焦点
EscPressEventType 返回键按下事件类型(Enum)
DoneCheck 不检测、跳过
DontRespone 检测但不响应
CloseSelf 关闭自身
Custom 触发自定义回调
类型预制
(对应类型需求)
(固定背景)
(固定焦点)
(回退可改)
(对应类型需求)
(固定背景)
(固定焦点)
(回退可改)
Underlay(铺垫、全屏):HasBg = true; BgShowType = Alpha; BgClickEventType = DontRespone; GetFocusType = Get;
Overlay(叠加、局部):HasBg = false; GetFocusType = GetWithOthers
Window(窗体):HasBg = true; BgShowType = HalfAlphaBlack; BgClickEventType = CloseSelf; GetFocusType = Get
Float(浮动):HasBg = false; GetFocusType = DontGet
System(系统、非业务的):HasBg = true; BgShowType = HalfAlphaBlack; BgClickEventType = false; GetFocusType = false;
?...(可增加预制类型)
Custom(支持灵活设置背景、焦点、返回键按下类型,但最好通过增加类型的方式解决)
https://github.com/NRatel/NRFramework.UI
0 条评论
下一页