更新时间:2021-07-27 GMT+08:00
分享

自定义视图

自定义视图简介

为了满足界面个性化定制需求,云游戏Android SDK提供设置自定义视图的接口setCustomView。接口参数为用户定义视图的完整类名。SDK启动游戏时通过反射创建视图对象,构造函数参数为游戏界面Activity的Context。视图对象通过viewGroup.addView添加到Activity的根视图。

实现参考

在测试自定义视图时,我们实现了一个继承FrameLayout的CustomView。FrameLayout背景为透明色,包含两层LinerLaytout视图布局,位于上层的LinerLayout承载了一个悬浮球,背景透明,位于底层的LinerLaytout承载具体的设置界面。

图1 自定义视图图层结构

游戏过程中FrameLayout始终是可见的状态,背景透明。承载悬浮球的LinerLayout也是可见的状态,背景透明,悬浮球响应拖动和点击事件。底层承载设置界面的视图,通过悬浮球的点击事件控制是否可见。

游戏过程中的弹框,可以使用原生android dialog实现,dialog弹窗父类是window,dialog隐藏与显示,不依赖CustomView。dialog也可以在frameLayout添加一层视图布局来个性化定制弹窗样式,需要代码中控制视图显示和层级关系。

上述自定义视图,FrameLayout背景透明,状态始终为可见,通过其上的悬浮球控制其它界面是否显示。

代码示例以及xml配置请参考:自定义视图参考示例

注意事项

游戏Activity会根据显示内容进行横竖屏切换,自定义视图的布局需要自适应横竖屏旋转,以免显示异常。

分享:

    相关文档

    相关产品

关闭导读