UI控件全部堆叠在左上角的情况是我在把代码上传到码云之后想点开xml界面截图提交作业的时候发现的。当时整个模块的所有xml界面都如下图所示:
看见这界面的心情,目瞪口呆,好歹是在考试,能不能争点气呀,关键是这问题咱之前也没见过。
好在想想之前在真机上运行了一回,软件还在手机上,手机截图应该也差不离,也就草草交了。关键问题没解决心里膈应,所以考完后赶紧回来解决问题,这也就回归正题了。
在寻找问题的时候我百度搜索,找到传说能够解决 UI 控件全部堆叠在左上角的以下几种方法,不过是不是真的能解决我也不知道,反正我是自己琢磨阴差阳错就给整好了,下面几种方法你们都可以试试,毕竟能够导致错误的途径有很多。
方法一:
点击下面用红色圈出来的图标,Infer Constraints,或许能成功。
(下面这张图是我的界面好了之后的截图)
方法二:
在寻找问题的过程中,你会看见红色感叹号的标记,如下图所示:
点击红色叹号,你会看到下面这些问题:
继续沿着这些错误和警示你往下滑,在最下面你会发现一个Missing Style的警告,内容是这样的:
Missing styles.Is the correct theme chosen for this layout?
Use the Theme combo box above the layout to choose a different layout,or fix the theme style references.
Failed to find style 'textViewStyle' in current theme...
你们也可以根据这些细微的提示找到解决问题的方法。关于这一方面,我找到一个较早期的解决思路。那就是切换到布局预览界面(Graphic Layout),找到一个五角星图标app theme,长这个样子:
下拉箭头把里面的默认的设定值修改成自己所需要的theme主题,可以试试Theme.NoTitleBar、Theme.Light.NoTitleBar。
因为在网上看见这些个解决的办法大都是六七年前的回答了,随着Android Studio的更新,本来想死马当做活马医的我硬是没找到这个图标在哪里,所以你们看见这个方法的时候,找到这个图标的朋友们可以在评论区告诉我,谢谢啦。
方法三:
看见有很多人说可以调整布局。
如果原先你是约束布局的可以改成线性布局,或者调成别的布局。
但我觉得工程貌似有点大,想想算了。
方法四:
这就是我误打误撞调整好的方法了。
其实也就运行了一遍虚拟机,我就肉眼可见的发现运行界面恢复到了我之前布置好的界面。下面附图:
当然,你们也可以运行一遍真机试试,因为当时正在考试,只剩手机软件可以截图的我实在是没勇气尝试真机运行。如果你们下次情况没有这么危及,可以尝试一下,如果成功了,请在评论区告知一声,大家看见了下次也能这么做。