我的默认文件夹values
为我的dimens.xml
。现在碰巧我需要为mdpi
设备使用其他值。为了实现这一点,我必须指定替代资源,即values-mdpi\dimens.xml
。但只要我这样做,我必须定义values-xhdpi
,values-hdpi
等,以显示不同密度的屏幕适当的大小。所以基本上为了定义mdpi
设备的唯一值我需要创建几个不同的文件。有没有简单的方法来定义mdpi
的价值?就是这样吗?提供替代资源
提供替代资源
回答
我对android比较陌生,但我敢肯定,如果您不指定任何其他大小的资源,将使用默认值目录中的值。
请参阅Android文档页面,它们都支持多个屏幕以及如何确定正确的资源。
http://developer.android.com/guide/practices/screens_support.html http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch
但关键是要指定一个替代资源,如果我使用唯一的默认值,那么我不会得到我所需要的值。 – Eugene
正确,我不知道我是否正确地表达了这一点,假设一旦你为mdpi指定资源,你不一定必须指定其他大小(hdpi,xhdpi等)的资源,因为它们仍应该采用来自默认文件夹的值。除非你无法为这个维度指定一个普遍的价值,否则我不认为真的有这个价值。 –
是,有一个解决方案。
如果您使用maven构建您的应用程序,您可以创建一个名称为eg的文件夹。 yourproject-res
在res
文件夹所在的相同位置。然后你可以把任何你想要的文件夹(如drawable
文件夹,layout
文件夹,drawable-mdpi
文件夹,values
文件夹等)。 之后,你需要修改你的pom.xml来创建应用程序的第二个配置文件,如:
<profile>
<id>yourprojectmdpi</id>
<properties>
<package.name>.com.your.app</package.name>
<res.directory>yourproject-res</res.directory>
</properties>
</profile>
然后最后一步就是全新安装与使用maven -P
参数在您的自定义配置指向您的应用程序。
mvn clean install -Pyourprojectmdpi
然后
mvn android:deploy android:run
从target
文件夹发送的apk到您的设备和运行。
Here,here和here你有一个参考maven配置文件。
我希望我能正确理解你的问题。
- 1. Android-提供替代资源不工作?
- 2. 如何提供替代布局资源
- 3. android:提供资源
- 4. 提供参数,以$资源
- 5. Android资源替代File.length()?
- 6. 如何为qHD(540x960分辨率,256 dpi)屏幕提供替代资源
- 7. 提供替代Flash内容
- 8. 提供泽西州父资源的子资源链接
- 9. AngularJS和资源:未知提供商:$ resourceProvider < - $资源
- 10. 为Slim和Twig提供动态资源
- 11. 为不同设备提供资源
- 12. 厨师:理解厨师::资源提供?
- 13. 防止Tomcat提供静态资源
- 14. 清除/重置资源提供程序
- 15. Grails 2没有提供静态资源
- 16. Azure资源提供者概念
- 17. 内容提供者资源$ NotFoundException
- 18. 无法找到或提供资源
- 19. 在Eclipse中为Maven提供资源
- 20. RequireJS提供的资源轮询
- 21. 使用poi-ooxml打破资源提供
- 22. Google Drive - 提供资源路径
- 23. Spring MVC无法提供静态资源
- 24. 自定义资源提供者
- 25. Angular.js错误:未知提供商:$资源
- 26. 从eclipse为maven资源提供参数
- 27. Android为Gingebread提供样式资源
- 28. 一次为多个MCC(国家代码)提供资源
- 29. ActiveSync文件资源管理器替代
- 30. 如何使用脚本资源替代
据我所知,如果Android没有找到特定密度的资源,它将从密度更高或更低的文件夹中获取该资源。所以你可以创建2个文件:mdpi和hdpi,其他密度将使用最接近的值。 – vorrtex
只需在values/dimens.xml中定义您的mdpi值,并在values-hdpi/dimens.xml中设置另一个值 。 mdpi设备将使用values/dimens.xml。 hdpi/xhdpi/xxhdpi设备将使用values-hdpi/dimens.xml – Pauland