Android在不同手机上调整大小

时间:2013-07-25 17:54:58

标签: android size screen

我在一个尺寸为480 x 850像素的3.6英寸屏幕上测试我的应用程序。它工作正常,所有图像都显示出来。

我部署了它,并收到一位朋友发来的电子邮件说,大约有20%的应用程序从底部被删除。她使用的是3.7英寸屏幕,320 x 480像素。

有解决方法吗?我认为Android可以按比例扩展所有内容。

我只在我的应用中使用hdpi文件夹。

3 个答案:

答案 0 :(得分:2)

你必须为图像使用mdpi,hdpi和ldpi文件夹.Android应用程序将其自身作为其分辨率,因此使用其中的三个,如果你想在所有设备中支持你的应用程序,你还应该使用layout / large ,布局/介质,布局/ XLARGE,布局/小

了解更多信息参考this链接

为此你必须在你的清单文件中进行一些更改 例如

 <supports-screens android:resizeable=["true"| "false"]
                      android:smallScreens=["true" | "false"]
                      android:normalScreens=["true" | "false"]
                      android:largeScreens=["true" | "false"]
                      android:xlargeScreens=["true" | "false"]
                      android:anyDensity=["true" | "false"]
                      android:requiresSmallestWidthDp="integer"
                      android:compatibleWidthLimitDp="integer"
                      android:largestWidthLimitDp="integer"/>

用于该引用this链接

答案 1 :(得分:1)

<supports-screens android:smallScreens="true" 
          android:normalScreens="true" 
          android:largeScreens="true"
          android:xlargeScreens="true"
          android:anyDensity="true" />

将此添加到app的清单文件中。

答案 2 :(得分:1)

Android不会拉伸实际的屏幕。它会在某些情况下拉伸图像,但这听起来不像是你的问题。

首先,我强烈建议你获得至少mdpi,hdpi和xhdpi的适当大小的图像。使用标准的72分辨率绘制mdpi,然后相对hdpi为1.5X mdpi,xhdpi为2.0X mdpi。

其次,如果正确编程屏幕组件,则使用密度独立像素(dip或dp),文本大小为sp。这意味着无论您使用的是什么尺寸的屏幕,都会显示相同的尺寸。所以没有扩展正在发生,而是Android保持相同的规模(这是非常好的)。这意味着在某些屏幕上,您的应用将显示在整个屏幕上,而在其他较小的屏幕设备上,它只能显示您屏幕的一部分。这听起来像是在发生什么。您需要能够滚动内容,因此在主布局文件中,将子项作为ScrollView。这是处理问题的正确方法。

编辑:您可以通过我看到的其他两张海报的方式解决这个问题,就像说你支持任何密度所以屏幕缩放,但这不是正确的方式做事。您希望您的内容可滚动,以免在小屏幕上显示非常小的不可读文本,或在大屏幕上显示巨大的非文本文本。您希望您的内容在物理空间中具有相同的大小,无论它显示在哪个设备上,这就是Android使用dp的原因。

Edit2 :您可以设计屏幕,将屏幕百分比分配给不同的组件。你在Android中这样做的方法是使用LinearLayout。线性布局具有权重和属性。如果将权重总和设置为100,则可以将子权重设置为您希望它占据屏幕的百分比。因此,如果你想给底部视图提供20%的屏幕,在一个方向垂直的LinearLayout中,你将第一个视图的权重设置为80(占屏幕的80%),底部设置为20。 ?