2012-05-09 60 views
10

我在drawable文件夹(我刚刚开始在Android开发中,因此我在res中创建了drawable文件夹)尺寸为250 * 70像素的图像,并且具有较高尺寸的相同图像drawable-large文件夹;但图像没有像我期望的那样。Android:了解可绘制文件夹

任何人都可以解释背后的原因/ 3个可绘制文件夹的目的?

我应该在哪里存储图像,以便在两种模式(横向&纵向)和所有移动设备(包括平板电脑)中正确显示?

我希望我的图像可以动态缩放到设备屏幕的大小。

任何人都可以分享您的意见或链接进行搜索吗?

+0

你应该阅读列表[本](http://developer.android.com/guide/practices/screens_support.html#qualifiers)... – candyleung

回答

14

默认的Android保持不同分辨率的原因,图像的三个文件夹背后却是使用或Android设备上应用要执行的分辨率。

hdpi图像文件夹保持图像的Android宽屏幕集或Android手机与更高的分辨率。

LDPI对于较低质量的图像,其通过前面的套机器人

MDPI为介质的图像的支持支持 xhdi图像与最大分辨率设备文件夹中。

Android OS通过检查兼容设备及其分辨率来自行选择图像。

希望它有帮助。接受,如果你得到你的解释。

+0

我可以把所有的图像放入同一个文件夹,但给他们适当的结局?像xxx_ldpi.png,xxx_mdpi.png,xxx_hdpi.png,...... –

1

您应该使用drawable-hdpi文件夹而不是drawable-large

而且Supporting Multiple Screens页面可能有助于您

+0

如果你有一个手机即xhdpi加载一个图像在320 dpi的宽度为100px,在mdpi(160)的图像是50px对不对?如果我的手机是xhdpi,而我的平板电脑是mdpi,那么如果屏幕密度较低,如何让图像显得更大?我需要两个image.png吗? image_phone.png和image_tablet.png?我会将它存储在可绘制的 - xlarge - mdpi中吗?如果是这样,这是不是意味着我需要将近32个文件夹才能支持mdpi,hdpi,xhdpi,xxhdpi,small,normal,large,xlarge(3.2以下)以及sw320dp,sw480dp,sw600dp,sw780dp?我哪里错了? – cjayem13

21

文件夹名称必须是:

  • /提拉 - LDPI对于低密度屏幕
  • /提拉 - MDPI对于中密度屏幕
  • /提拉 - 华电国际对于高分辨率屏幕
  • /drawable-xhdpi对于超高分辨率屏幕

/drawable应该保留给您不需要的资产再其设备或XML绘制资产

然后最重要的是,你可以通过使用配置限定符提供依据配置不同的资源,你可以在这里http://developer.android.com/guide/topics/resources/providing-resources.html

阅读所有关于它,例如,你可以有较高的分辨率资产景观带夹

  • /提拉 - 土地华电国际

希望帮助

6

绘制,LDPI

绘制,MDPI

绘制-hdpi

抽拉-xhdpi

抽拉-tvdpi

抽拉-nodpi

绘制-xxhdpi

绘制-xxxhdpi

We can also use "drawable-xxhdpi" 
xxhdpi (480dpi, Android 4.1 or later) 

请参阅 “Android的表格栏” 下面的链接

http://en.wikipedia.org/wiki/Smartphone

请在下面的链接,参阅 “表1” (xxxhdpi)

http://developer.android.com/guide/practices/screens_support.html#xxxhdpi-note

注意:drawable-xxxhdpi限定符仅用于提供一个启动器图标,该图标在xxhdpi设备上可能比平常显示的要大。您无需为所有应用的图片提供xxxhdpi资源。

注意将在下面的链接 http://developer.android.com/design/style/iconography.html#xxxhdpi-launcher

+0

现在每个人的min sdk target都是15或更大,这意味着ldpi,mdpi和hdpi文件夹甚至没有被查看。我的建议是排除这些文件夹中的drawable。真的,除非你有非常小的细节资产,否则你只能在xhdpi中放置drawable并且节省一些空间。 – portfoliobuilder

+0

如果用户想要节省空间,那么用户可以使用“Nine Patch”图像。因为这会节省很多空间 – Sakthimuthiah

0

1)不同的文件夹绘制背后的原因 - 使用我们的应用程序时,通过包容每个设备的屏幕密度,以增强用户体验。

2)“我应该在哪里存储...” - 理想情况下,您为每个屏幕密度存储适当大小的图像。如果你是初学者,只需使用一个文件夹,现在不用担心。

4)图像缩放 这是一个很酷的指南,可以帮助您与图像缩放里面的应用程序: https://robots.thoughtbot.com/android-imageview-scaletype-a-visual-guide

3)相关链接: https://material.io/devices/ - 所有设备和密度