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)(若有背景)<br>
Alpha 透明(Color(0, 0, 0, 0))
HalfAlphaBlack 半透黑色(Color(0, 0, 0, 0.7))
CustomColor 自定义颜色(Color)
CustomTexture 自定义贴图(Texture)(不一定需要,暂不实现)
BlurryScreenshot 模糊屏幕快照(Texture)(不一定需要,暂不实现)
?...(可增加预制类型)<br>
BgClickEventType 背景点击事件类型(Enum)(若有背景)
PassThrough 不阻挡、穿透
DontRespone 阻挡但不响应
CloseSelf 关闭自身
Custom 触发自定义回调
GetFocusType 获得焦点类型(Bool)
DontGet 不抢夺焦点
Get 获得焦点
GetWithOthers 与下方可获得焦点的界面共同获得焦点
EscPressEventType 返回键按下事件类型(Enum)
DoneCheck 不检测、跳过
DontRespone 检测但不响应
CloseSelf 关闭自身
Custom 触发自定义回调
类型预制<br>(对应类型需求)<br>(固定背景)<br>(固定焦点)<br>(回退可改)
Underlay(铺垫、全屏):HasBg = true; BgShowType = Alpha; BgClickEventType = DontRespone; GetFocusType = Get;<br>
Overlay(叠加、局部):HasBg = false; GetFocusType = GetWithOthers<br>
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 条评论
下一页
为你推荐
查看更多