我应该根据像素大小将图像放置在哪个可绘制资源文件中?

时间:2019-04-13 08:19:38

标签: android android-resources android-image

我有3张图像,其像素大小如下(我从Get Info获得)

300x200    
150x100  
600x400

问题:如何知道我应该将它们放在哪个资源目录(hdpi|mdpi|xhdpi etc)中?

2 个答案:

答案 0 :(得分:1)

复制图像并将其粘贴到可绘制的文件夹中。 您可以使用.xml文件添加图像

<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/image_name" /> 

答案 1 :(得分:1)

有8个文件夹,每个文件夹取决于像素密度:

1。 lpdi-用于低密度(ldpi)屏幕(〜120dpi)的资源。
  2。 mdpi-用于中等密度(mdpi)屏幕(〜160dpi)的资源。 (这是基线密度。)
  3。 hdpi-用于高密度(hdpi)屏幕(〜240dpi)的资源。
  4。 xhdpi-用于超高密度(xhdpi)屏幕(〜320dpi)的资源。
  5。 xxhdpi-用于超高密度(xxhdpi)屏幕(〜480dpi)的资源。
  6。 xxxhdpi-用于超高密度(xxxhdpi)使用的资源(〜640dpi)。
  7。 nohdpi-适用于所有密度的资源。这些是与密度无关的资源。不管当前屏幕的密度如何,系统都不会缩放使用此限定符标记的资源。
  8。 tvdpi-屏幕资源,介于mdpi和hdpi之间;约213dpi。这不被视为“主要”密度组。它主要用于电视,大多数应用程序不需要它-提供mdpi和hdpi资源足以满足大多数应用程序的需求,并且系统会对其进行适当缩放。如果发现有必要提供tvdpi资源,则应将其大小调整为1.33 * mdpi。例如,对于mdpi屏幕,100px x 100px的图像对于tvdpi应为133px x 133px。

若要为不同的密度创建替代的位图可绘制对象,应遵循六个主要密度之间的3:4:6:8:12:16缩放比例。例如,如果对于中等密度的屏幕,您有一个48x48像素的可绘制位图,则所有不同的大小应为:

  • 36x36(0.75x)用于低密度(ldpi)
  • 中密度(mdpi)的48x48(基线的1.0x)
  • 72x72(1.5x)用于高密度(hdpi)
  • 96x96(2.0x)用于超高密度(xhdpi)
  • 用于超高密度(xxhdpi)的144x144(3.0x)
  • 192x192(4.0x)用于超高密度(xxxhdpi)

您可以从Android official documentation

获得更多信息。