一、 适配背景
目前vivo有意向采用1080×2400/1080×2460/1080×2520等更高长宽比分辨率,经测试发现有些游戏和应用存在异常边、花边、裁切、黑边过大等情况,为避免以上情况,需要对这些游戏和应用进行相应适配调整。建议游戏或应用适配时考虑更大屏幕比例的情况,提高不同屏幕比例的兼容性;同时建议不要固定屏幕比例来判断适配,这样会导致游戏或应用只能兼容固定屏幕比例。
二、调整意见
1、游戏logo或背景出现异常边
描述:logo或背景两侧,出现黑边、蓝边、白边等异常边。
原因:logo或背景宽高比例过小。
措施:建议采用第一条。
(1)提供宽高比例更大的logo或背景;
(2)可以生成app的网页优先匹配屏幕高度,宽度可稍微裁切(不影响用户体验);
(3)比例相差不大的情况下,可适度拉伸(不影响用户体验)。
2、游戏出现异常边
描述:游戏两侧出现黑边、蓝边、白边等异常边。
原因:游戏固定了宽高或屏幕比例。
措施:请参见第6条获取屏幕宽高,确保背景和游戏能充分铺满屏幕。
游戏各种按钮、状态栏等需要根据屏幕宽高,调整对屏幕相对位置,确保显示完整、布局美观。
3、游戏两边出现花边
描述:游戏两侧出现杂色边,后面内容覆盖了之前内容。
原因:游戏固定了宽高或屏幕比例,后续某帧超过该比例,造成花边。
措施:请参见第6条获取屏幕宽高,确保背景和游戏能充分铺满屏幕。
游戏各种按钮、状态栏等需要根据屏幕宽高,调整对屏幕相对位置,确保显示完整、布局美观。
4、视频两边出现裁切
描述:播放视频时,视频宽度上发生裁切,造成显示内容变少。
原因:视频优先匹配高度,造成宽度上内容裁切。
措施:请参见第6条获取屏幕宽高,将优先适配高度,改为优先适配宽度,保证视频内容的完整性,并合理安排其他布局。
5、应用底部黑边过大
描述:应用底部黑边过大,底部文字、对话框等位置偏上,造成显示不美观。
原因:屏幕比例变大时,底部黑边相应变大,但是底部文字、对话框等未按屏幕高度动态调整,而是固定了与视频的相对位置。
措施:请参见第6条获取屏幕宽高,然后根据屏幕高度,向下动态调整文字或对话框的相对位置,使显示更美观。
6、获取屏幕宽高方法
(1)h5自动生成app获取屏幕物理宽高
建议游戏或满屏应用使用,获取屏幕真实物理宽高。
WindowManager manager = this.getWindowManager();
Point outSize = new Point();
Display display = manager.getDefaultDisplay();
display.getRealSize(outSize);
int width = outSize.x; //屏幕物理宽度
int height = outSize.y; //屏幕物理高度
(2)获取应用宽高
建议非满屏应用使用,在某些情况下,应用宽高和屏幕物理宽高有差异。
如在有导航栏、刘海、非透明状态栏等情况下,可以使用以下方法获取实际应用宽高。
WindowManager manager = this.getWindowManager();
DisplayMetrics outMetrics = new DisplayMetrics();
Display display = manager.getDefaultDisplay();
display.getMetrics(outMetrics);
int width = outMetrics.widthPixels; //应用宽度
int height = outMetrics.heightPixels; //应用高度
三、模拟验证
使用分辨率为1080的屏幕,比例任意的手机:
1、进入开发者选项,打开USB调试;
2、电脑进入cmd命令行,输入”adb devices”,确保能连上手机;
3、Cmd命令行输入:”adb shell wm size 1080×2400/1080×2460/1080×2520”
模拟分辨率为1080×2400/1080×2460/1080×2520的情况;
4、测试应用或游戏,是否出现黑边、花边、裁切等情况;
5、测试完毕,cmd命令行输入:”adb shell wm size reset”,恢复屏幕分辨率。
编辑:yimen,如若转载,请注明出处:https://www.yimenapp.com/kb-yimen/11626/
部分内容来自网络投稿,如有侵权联系立删