嘿,我是新手,通过将应用程序作为我学校的项目来学习Android。我遇到了一个问题,它不适用于较小的QVGA设备。它在底部被切断了。我已经阅读了关于支持不同屏幕大小的官方开发指南,并猜测我不完全了解正在发生的事情。
我所使用的代码仅使用相对布局和(dip)单位。
中型HVGA手机的布局看起来很棒,并利用空间。当然,它可以扩展到大屏幕,只需要一点额外的空间,我的理解是它会变得更小,适合小型设备。相对于手机屏幕,它看起来不一样吗?
以下是QVGA和HVGA仿真的一些屏幕截图。
注意:目前,低质量/不正确的图像只是占位符。 http://i19.photobucket.com/albums/b183/CraZboyz/Mischosting/CDQVGA.jpg
答案 0 :(得分:2)
一个可能的解决方案,因为它似乎是好的并排,是实现ScrollView。它将允许用户向下滚动较小的手机,并且不会影响不需要滚动的较大屏幕。
答案 1 :(得分:0)
如果您希望屏幕尺寸(不是像素密度)发生任何缩放,您需要自己动手。如果将新的xml文件放在res \ layout-small中,则可以在该文件中进行任何必要的调整,而无需更改中型,大型或xlarge屏幕上的布局行为。
正如布兰登建议的那样,这种改变可能是添加ScrollView。它可能是一组更详细的更改,例如缩小徽标,使用较少的填充和边距,使用较小的字体大小等等。如果更改徽标大小,可以通过更改ImageView的大小或在res \ drawable-small-ldpi,res \ drawable-small-mdpi等中提供较小的徽标来完成。
布局未按比例缩小以适应较小屏幕的原因是它不应缩小屏幕尺寸。通常,每个组件都会缩放,因此它应该在任何设备上具有大致相同的物理尺寸,这意味着它将针对像素密度进行缩放,但不会针对大小进行缩放。例如,按钮可能会在ldpi设备和mdpi设备之间按比例缩放,但不会以英寸为单位。如果它确实按照物理尺寸进行扩展,那么一个小但可用的按钮会成为用户无法可靠点击的烦恼。
是的,你的模拟器AVD图像似乎有不同的按钮,图像和字体大小,但这是一种幻觉。 AVD中的表观尺寸差异来自不同的像素密度。如果您使用选项将显示缩放到实际尺寸(或创建具有小屏幕尺寸但mdpi密度的AVD),您应该会看到两个AVD中大小相同的组件。