繁体   English   中英

Android在不同手机上的尺寸

[英]Android sizing on different phones

我在一个具有480 x 850像素的3.6英寸屏幕上测试我的应用程序。它运行正常,并且所有图像都可以显示。

我进行了部署,并收到朋友的电子邮件,其中说大约20%的应用程序是从底部删除的。 她正在使用3.7英寸的320 x 480像素的屏幕。

有解决办法吗? 我以为Android可以按比例扩展一切。

我在我的应用程序中仅使用hdpi文件夹。

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

有关更多信息,请参考链接

为此,您还必须在清单文件中进行一些更改,例如

 <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"/>

为此,请参阅链接

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

将此添加到您的应用清单文件中。

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

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

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

编辑 :您可以按照我看到的其他2个张贴者所说的方式来解决此问题,就像说您支持任何密度以便屏幕缩放一样,但这不是正确的处理方式。 您希望内容是可滚动的,以免最终在小屏幕上显示很小的,无法阅读的文本,或者在大屏幕上显示巨大的,笨拙的文本。 无论您在什么设备上显示内容,您都希望内容在物理空间上的大小相同,这就是Android使用dp的原因。

Edit2 :您可以设计屏幕,以将屏幕的百分比分配给不同的组件。 您在Android中执行此操作的方式是使用LinearLayout。 线性布局具有权重和属性。 如果将权重总和设置为100,则可以将儿童的权重设置为您希望其占据屏幕的百分比。 因此,如果要使底部视图的屏幕占屏幕的20%,请在LinearLayout中使用垂直方向,将第一视图的权重设置为80(占屏幕的80%),底部的权重设置为20。 ?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM