所有Android文档都提到了“drawable”目录。但是,当我在Eclipse中创建一个Android项目时,它不创建“/ res/drawable”目录,但它确实创建了“/ res/drawable-ldpi”和“/ res/drawable-mdpi”。我想这些与像素分辨率有关,但是到底发生了什么?当我浏览完教程后,我手动创建了一个“drawable”目录并将我的资源放在那里,但是我需要吗?如果只有“drawable- {l | m} dpi”存在,是否提及“/ res/drawable /”工作?drawable与drawable-ldpi/drawable-mdpi
回答
我相信这是在Android 1.6中添加的。这一切都在这里解释:http://developer.android.com/guide/practices/screens_support.html
我认为它有话跟你如何产生的Android项目。通常我会创建一个hdpi,mdpi和ldpi文件夹。基本上,“可绘制”是默认设置。
如果你在hdpi文件夹中拥有所有资源,并尝试在ldpi设备上运行它,我相信你会得到某种异常(我没有测试过,但我相信这是事实)。
有关缺省资源发生情况的详细说明,请参阅here。
为了安全起见,您应该在主“可绘制”文件夹中保留默认的资源集合(是的,您可能必须手动创建),并确保与旧版Android的兼容性。 Android会首先检查特定的密度文件夹,但如果无法找到该密度的特定资源,它将回滚到默认的可绘制文件夹。
HDPI,在Android 1.6的加入MDPI和LDPI限定符。如果您打算支持Android 1.5,则应将所有中等dpi可绘制项目放入默认可绘制目录中。
你可以阅读一下here。
是的,你需要做一个缺省的/ RES /可绘制在Eclipse目录。
如果你想使用-hdpi/-mdpi/-ldpi文件夹,那么你需要单独的XML布局来指代他们。
http://developer.android.com/guide/practices/screens_support.html
介绍最新SDK的创建很多关于你绘制文件夹的各种屏幕密度创建一个新的应用程序时,虽然奇怪的是在文档中提到的默认“绘制”文件夹中从来没有为我所创造默认。
如果您为默认创建的所有六个密度文件夹(从drawable-ldpi到drawable-xxxhdpi)复制和调整图形资源的大小,则应用程序大小将会增加以适应沉重的图形应用程序,更不用说其他问题出现了像堆大小崩溃(它们应该为不同的设备堆大小提供不同的文件夹)。
目前,我把我所有的图形提拉 - 华电国际文件夹,除了在xhdpi,xxhdpi更高的分辨率,并且xxxhdpi文件夹中的启动器图标的副本。我不把任何东西放在mdpi和ldpi文件夹中,实际上已经删除了这些文件夹以保持应用程序清洁。我也可以将drawable-hdpi重命名为drawable,但是保留默认名称,因为它在这种情况下充当默认文件夹。
In this answer,@RomainGuy提到您应该在drawable
文件夹中为其各自的文件夹(mdpi,xhdpi)和其他来源(如.xml文件)绘制适当的图像。
例如,
如果您将使用hdpi设备,而您没有在hdpi文件夹中放置任何图像,则不会崩溃;它将改为调整其下一个最适合的文件夹(即mdpi)的图像大小,并将展开图像。
- 1. Drawable Drawable
- 2. Drawable-hdpi,Drawable-mdpi,Drawable-ldpi Android
- 3. Android studio 1.1.0不显示drawable-hdpi,drawable-xhdpi,drawable-mdpi,drawable-xxhdpi
- 4. 关于drawable-hdpi,drawable-mdpi,drawable-ldpi和drawable的困惑
- 5. 解释drawable,drawable-ldpi,drawable-mdpi和drawable-hdpi之间的区别
- 6. drawable和drawable-mdpi的区别
- 7. @ r $ drawable和@drawable有什么区别?
- 8. 在android中应该是什么图像大小的文件夹drawable-ldpi,drawable-mdpi,drawable-hdp,drawable-xhdpi
- 9. Vector Drawable VS PNG
- 10. Android - Split Drawable
- 11. Arc drawable ProgressBar
- 12. android drawable marker nullExceptionPointer
- 13. 什么是Drawable?
- 14. android.R.id.empty drawable的路径?
- 15. drawable getResources()。getIdentifier问题
- 16. WebView选择器drawable
- 17. 从overlayitem检索drawable
- 18. Android:Vector drawable不重复
- 19. 实现自定义Drawable包含另一个Drawable
- 20. 如何同时使用drawable和drawable-hdpi的资源?
- 21. java.lang.NoSuchMethodError:没有静态方法getDrawable(Landroid/content/Context; I)Landroid/graphics/drawable/Drawable;
- 22. 如何解决无法将@ drawable/abc转换为drawable?
- 23. 如何从/ drawable-hdpi而不是/ drawable android加载drawables?
- 24. 我对drawable-hdpi和drawable-mdpi感到困惑
- 25. 错误:(20,118)找不到与给定名称匹配的资源(在'drawable'处,值为'@ drawable/abc_list_selector_disabled_holo_dark')
- 26. 我如何将android位图别名为另一个大小的drawable(drawable-large-mdpi aliases to drawable-hdpi)
- 27. 可能使用drawable-mdpi-fr,drawable-hdpi-fr,drawable-ldpi-fr,用于不同分辨率的本地化
- 28. 当从/ drawable-hdpi而不是/ drawable加载为背景时,Drawable的大小不同/可绘制
- 29. 为什么setBackground与Drawable不能完全填充
- 30. Seekbar Progress Drawable在API 22中调整大小与API 23
链接不起作用。 – jbaylina 2013-08-30 14:19:40
@jbaylina链接固定 – 2013-08-30 19:53:20