模拟器和手机上运行的显示不一样,代码怎样改?

各们帮我看看,我在IDE软件里写的代码在模拟器里显示的底部标签和顶部标签显示的很完整的,没有问题,可是一连接手机上显示的不行了底部标签显示的那么高了,我把高度的数字不管怎样改都不行,activity_main.xml 是主程序的布局显示的是ViewPager+TabLayout的底部标签,activity_homepage.xml是点击底部首页的标签显示的是顶部一行的TabLayout标签+ViewPager的,build.gradle代码的compileSdkVersion和targetSdkVersion和dependencies下面的都是写的是27,模拟器运行的Nexus 5X API 30(Android 11,API 30)显示的是完整的没有问题的,我手机是Red mi Android 12 API-31的运行后就显示不完整了。懂行的帮我看看应该怎样改?

img

img

img

回答不易,求求您采纳点赞哦

  • 你可以尝试调整布局文件中TabLayout和ViewPager的高度值,确保它们在手机上能够正常显示。你可以尝试使用特定的尺寸单位(如dp或sp)来调整高度,以便在不同的屏幕上都能正常显示。同时确保你的布局文件里的高度和宽度设置适配不同的屏幕尺寸。

  • 另外,你可以考虑在布局文件中使用LinearLayout或ConstraintLayout来管理TabLayout和ViewPager的位置,这样可以更好地控制它们的显示效果。

  • 如果你的手机和模拟器的系统版本不同的话,还需要确保你的代码兼容性。

  • 总之,这个问题可能是由于布局文件中高度设置不当导致的,你可以通过调整高度值和布局管理器来解决这个问题。

可以尝试设置留白,然后布局使用百分比,模拟器和手机出现误差是不可避免的 ,通常使用相对位置会减弱这方面的影响,其次就是布局的设计。

img


不要写死高度。