自定义视图
自定义视图简介
为了满足界面个性化定制需求,云游戏Android SDK提供设置自定义视图的接口setCustomView。接口参数为用户定义视图的完整类名。SDK启动游戏时通过反射创建视图对象,构造函数参数为游戏界面Activity的Context。视图对象通过viewGroup.addView添加到Activity的根视图。
实现参考
在测试自定义视图时,我们实现了一个继承FrameLayout的CustomView。FrameLayout背景为透明色,包含两层LinerLaytout视图布局,位于上层的LinerLayout承载了一个悬浮球,背景透明,位于底层的LinerLaytout承载具体的设置界面。

游戏过程中FrameLayout始终是可见的状态,背景透明。承载悬浮球的LinerLayout也是可见的状态,背景透明,悬浮球响应拖动和点击事件。底层承载设置界面的视图,通过悬浮球的点击事件控制是否可见。
游戏过程中的弹框,可以使用原生android dialog实现,dialog弹窗父类是window,dialog隐藏与显示,不依赖CustomView。dialog也可以在frameLayout添加一层视图布局来个性化定制弹窗样式,需要代码中控制视图显示和层级关系。
上述自定义视图,FrameLayout背景透明,状态始终为可见,通过其上的悬浮球控制其它界面是否显示。
代码示例以及xml配置请参考:自定义视图参考示例
注意事项
游戏Activity会根据显示内容进行横竖屏切换,自定义视图的布局需要自适应横竖屏旋转,以免显示异常。
