这几天在学习使用Canvas绘制Splash时,出现了一个怪问题,两个Splash切换时,中间总是会出现一下上面的系统菜单和下面的按钮(E680i真机测试)然后再变为全屏,看着十分别扭。可是花了好长时间,也没有发现问题。
中午一觉醒来,再次查看源代码。发现设置全屏模式是paint方法中,会不会是这里的问题?当设置Splash为当前显示时,它还没有调用setFullScreenMode(true),而绘制时调用了该方法,所以又瞬即变为全屏,也就出现了这种情况。于是修改代码,把setFullScreenMode(true)放在构造方法中,重新测试,终于实现了理想的效果。而因为主菜单的setFullScreenMode(true)仍然放在了paint方法中,所以第二个Splash切换到主菜单时,依然是原来的效果。
结论就是:Canvas的setFullCreenMode(true)应该放在构造方法中。
中午一觉醒来,再次查看源代码。发现设置全屏模式是paint方法中,会不会是这里的问题?当设置Splash为当前显示时,它还没有调用setFullScreenMode(true),而绘制时调用了该方法,所以又瞬即变为全屏,也就出现了这种情况。于是修改代码,把setFullScreenMode(true)放在构造方法中,重新测试,终于实现了理想的效果。而因为主菜单的setFullScreenMode(true)仍然放在了paint方法中,所以第二个Splash切换到主菜单时,依然是原来的效果。
结论就是:Canvas的setFullCreenMode(true)应该放在构造方法中。