支持多种屏幕尺寸

时间:2014-01-29 22:42:12

标签: android android-layout multiscreen

我使用了不同尺寸的多张图片。我将图像复制到不同的文件夹中。 例如(drawable-ldpi文件夹除外):

enter image description here

例如:

drawable-mdpi test.png => 60 * 60像素

drawable-hdpi test.png => 85 * 85 px

drawable-xhdpi test.png => 110 * 110像素

drawable-xxhdpi test.png => 110 * 110像素

我的布局只有一个文件夹:

enter image description here

我的清单:

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

现在,当我在galaxy s4上安装我的项目时,程序中的图像显示了drawable-mdpi文件夹。为什么?


我甚至为我的布局创建了一个单独的文件夹,并更改了图像的宽度和高度:

res/layout/my_layout.xml imageview => layout_width and layout_height = 48*48 //默认

res/layout-large/my_layout.xml


res/layout-xlarge/my_layout.xml

但始终选择默认选项!为什么呢?

1 个答案:

答案 0 :(得分:1)

你不需要在minifest中写support-screens - 默认是好的。

首先要做的事情是:

  • s4位于normal的上端,但仍应{​​{1}}不大。这就是为什么没有使用'layout-large'的原因。但你不应该使用尺寸选择的东西,dpi选择要好得多(所以一个布局应该有用)。
  • s4位于xxhdpi和xhdpi之间的边缘,因此三星可以决定它是什么。我认为他们使用xhdpi。但这不应该重要。

dpi类别:

  • ldpi(你不需要它,因为它没有设备)
  • mdpi = 160dpi或1x
  • hdpi = 240dpi或1,5x
  • xhdpi = 320dpi或2x
  • xxhdpi = 480dpi或3x

简单的dpi示例:
如果你有一个全屏设计/图像全高清(1080x1920),你可以根据需要剪切出来的东西,并为xxhdpi正确。 (如果我记得正确 - 也许是xhdpi) 但是,您可以从这一点计算出较小的尺寸。   - xxhdpi = 1080x1920   - xhdpi = 720x1280(上述/ 3 * 2)   - ......

如果你这样做,它应该正确;)