我创建了一个简单的Android应用。它只有一个活动和一个视图。
该应用专为手机设计。我使用“设备无关像素”单元(dp)进行所有UI元素测量,并使用RelativeLayout进行大多数布局。该应用在小屏幕上看起来不错。
在大屏幕(如平板电脑)上,所有元素都很小,分散开来,底部有一个很大的空白区域。确实,平板电脑和手机之间的UI元素的物理尺寸大致相同,这是dp单元所承诺的,但它并不是我想要的应用程序。我希望整个界面变得更大,尽可能地填满屏幕,就像你在iPad上运行iPhone应用程序并按下“2x”按钮一样。
最好的方法是什么?我是否必须为每个屏幕尺寸编写单独的视图?我应该使用像素(px)而不是dp吗?
感谢。
答案 0 :(得分:1)
使用px作为衡量标准实际上会更糟糕 - 因为新的平板电脑具有高DPI屏幕,这意味着平板电脑上的100px视觉效果要比中型手机更小。
您最好的选择是使用布局覆盖(layout-sw600dp,layout-sw700dp)。 虽然只是不鼓励简单地扩大手机布局 ..如果您想要使用快捷方式,您只需将手机布局复制到sw *文件夹并调整所有dp测量值。
您还需要使用以下方法强制平板电脑进入纵向模式:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);