不同型号手机的布局

Use*_*590 5 android android-layout

最近我开发了一款适用于Galaxy 10.1的应用程序,7英寸,1024x600,480x800,注意800高度,高度为S3,高度为720.他们都完全按照这些决议运行.但是当我们谈论注释2和galaxy 7 plus等时,我们遇到了几个问题.这些设备上的布局是不正确的.在那个面临布局问题的iam我使用layouts文件夹作为layouts-normal-xhdpi-1280x800和S3 layouts-normal-xhdpi-1280x720并将所有布局放在一个文件夹中,这使得一个apk支持所有这些布局.

但是当客户下载apk时,他们处理的问题是Galaxy笔记选择布局 - 正常 - xhpi-1280x720布局并且它是正确的但是S3和Galaxy Note 2具有不同的密度.

由于这个问题,我无法弄清楚如何为S3和Note 2声明布局文件夹.有没有办法我只使用默认的四个文件夹

布局Xlarge

布局Xhdpi正常

布局mdpi

布局hdpi正常

并支持所有屏幕的所有布局,如S3,注1,注2,7英寸以及其他.当我尝试启动我的项目时,我总是想到着名的游戏,比如其中一个是"Temple Run",它运行在所有手机和标签上.

制作一堆布局文件夹使我的应用程序变得像是超过80MB限制而且谷歌市场只接受少于50MB的应用程序.

从语法上来说,我们只使用一个布局文件夹并在所有屏幕上支持此布局.我阅读了一些文章和Android开发人员门户网站,但他们并不满足我.他们都说你必须为不同的屏幕制作不同的布局文件夹,甚至在stackoverflow上我看到了相同的情况,以节省我在第一个项目中的时间我使用这些技术,但我的工作现在日益增加,我希望我从那些使我的应用程序不重的技术开始,因为这些布局加上不浪费我的时间来制作应用程序数量的布局数量.

帮助的数量将被赞赏,我想要答案和建议,因为这些问题是新的和其他的开发人员面临的.

Chi*_*hod 2

我的申请中也面临这样的问题。但我找到了一个很好的解决方案。\n我只有一个布局tablet,目录名称是layout-sw600dp。\n现在,当部分遇到高度和宽度问题时,我创建了几个不同的values目录,在其中放置dimensionsfont size以及其他存根。因此平板电脑屏幕将没有任何constant价值layout

\n\n
androd:layout_width:"60dp" // i drop this scenario\n\nandrod:layout_width:"@dimen/tab_width" // i used this scenario\n
Run Code Online (Sandbox Code Playgroud)\n\n

你的values目录名称就像

\n\n
values-xlarge\nvalues-large\n
Run Code Online (Sandbox Code Playgroud)\n\n

所有值都将从您的值目录中获取。它不会创建不同的布局,但一种布局可以多次使用。

\n\n

编辑:

\n\n

以下是站点文字Developer.android。\n配置示例

\n\n

为了帮助您针对不同类型的设备进行一些设计,以下是一些典型屏幕宽度的数字:

\n\n
320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).\n480dp: a tweener tablet like the Streak (480x800 mdpi).\n600dp: a 7\xe2\x80\x9d tablet (600x1024 mdpi).\n720dp: a 10\xe2\x80\x9d tablet (720x1280 mdpi, 800x1280 mdpi, etc).\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用表 2 中的尺寸限定符,您的应用程序可以使用您想要的任何宽度和/或高度数字在手机和平​​板电脑的不同布局资源之间进行切换。例如,如果 600dp 是您的平板电脑布局支持的最小可用宽度,您可以提供以下两组布局:

\n\n

res/layout/main_activity.xml # 对于手机
\nres/layout-sw600dp/main_activity.xml # 对于平板电脑

\n\n

===

\n\n

在这里,您可以看到 1280*720 的布局位于下方,因此您应该使用这个东西来决定差异,layout-sw720dp而不是创建。您不只是通过其layout-normal-xlarge进行识别,而不是使用layout-large-mdpiand来进行不同的识别吗?因为,android为不同的图像提供了目录,唯一的问题是它的分辨率。并且您有上述解决方案。layout-large-ldpismallest widthdrawables

\n

  • 好吧,如果我们谈论 Note2 和 S3,它们都需要 layout-normal-xhdpi-1280x720 布局文件夹,但两者都有不同的密度,那么如何处理它们? (2认同)