不同屏幕尺寸的Android应用程序

不同屏幕尺寸的Android应用程序,android,android-layout,Android,Android Layout,我是一个意大利人,正在为我在信息和通信技术大学参加的一门课程开发一款android应用程序。 这是我的问题:遵循android的理念,在android中为不同的高宽值(dpi)创建12个文件夹是正确的吗 我的意思是: values-ldpi values-mdpi values-hdpi values-xhdpi values-small-ldpi ... ... ... values-xlarge-hdpi values-xlarge-xhdpi 我不能到处使用“match_parent”或

我是一个意大利人,正在为我在信息和通信技术大学参加的一门课程开发一款android应用程序。 这是我的问题:遵循android的理念,在android中为不同的高宽值(dpi)创建12个文件夹是正确的吗

我的意思是:

values-ldpi
values-mdpi
values-hdpi
values-xhdpi
values-small-ldpi
...
...
...
values-xlarge-hdpi
values-xlarge-xhdpi

我不能到处使用
“match_parent”
“wrap_content”
,因此对于某些组件,我必须以dpi指定大小。

这是正确的,但您可以通过巧妙地设置XML布局、使用片段和考虑允许使用某些相对位置描述的设计来获得整个方法

没有一个通用规则可以始终有效。 在某些情况下,您可能必须使用
values-land
values-v14
values-large-land-v14
values-sw720dp
…这取决于您想要实现的应用程序


不要忘记xxhdpi的值。您的解决方案肯定是最详尽和彻底的。但这并不一定像你说的那样“正确”

理想情况下,您将能够为屏幕大小/密度的每个可能组合创建值/布局/绘图。在现实世界中,更常见的是关注特定子集

例如,您可以查看最常用的屏幕密度(定期更新)

穷举有一些特别的缺点,如果您处理的是Drawable,则包括大的.apk大小,因此您可以缩小您的方法并将重点放在其他地方,或者为您的应用程序发布多个.apk


有一篇关于在Android上支持多屏幕的深入文章非常值得一读。

我忘了说该应用程序只能在纵向模式下运行“相对位置描述”是什么意思?抱歉,你可以创建一个布局,每个例子中有一个按钮,或者左/右与它的父。这样的事情很容易在XML中实现。有很多“浮动”视图并不容易确定位置,因为你很难对每一个可能的屏幕进行正确设置我读了很多次那篇文章,但我认为它没有给出一个具体的方法来支持所有类型的屏幕(如我所说,支持每个屏幕(有2200多台设备)这将是非常详尽的,最好集中在一个子集上。例如,目前最受欢迎的组是normal/hdpi和normal/xhdpi。首先集中在那里,然后支持不太受欢迎的组合一旦你让受欢迎的组看起来最理想谢谢你的回答,我还有一个问题:我有两个平板电脑,都是7“但第一个是hdpi,第二个是mdpi。在我的布局中,我有一个指定尺寸为250dp*100dp(宽度/高度)的按钮。为什么在第一个平板电脑中,系统会缩放尺寸并保持正确的比例,而在第二个平板电脑中则不会???我的意思是,如果我在Nexus S(4)上运行应用程序?”在第一款平板电脑上,一切似乎都是一样的,但如果我做sime,我将nexus的布局与第二款平板电脑进行比较,它们完全不同。mdpi平板电脑将有更大的像素来填充与hdpi平板电脑相同的空间。安卓因此使用mdpi图形来补偿这一点,并缩放其他平板电脑的任何图形r它没有的密度。这就是你看到这个问题的原因。你可以把你不想改变的可绘制图像放进分辨率/可绘制图像中。Pi folderI写了dpi(每英寸点数),但我指的是dp(与密度无关)我不知道其他人是否会同意我的观点,但我已经通过Intuit使用了这两个库,而且它可以在任何屏幕大小下工作,而不会陷入混乱。请查看它们。