l33*_*33t 20 resources android library-project
我有一个Android库,MyLib其中包含我的应用所需的一切(针对Android 2.2).该库具有XML资源:
drawable/main_background.xml
Run Code Online (Sandbox Code Playgroud)
在我的应用程序MyApp项目中我引用MyLib.在这里,我想覆盖特定的资源(即品牌).所以我添加了一个背景图片MyApp:
drawable/main_background.png
Run Code Online (Sandbox Code Playgroud)
Eclipse不断给我这个错误:
[com.mycom.mylib.myapp] res\drawable\main_background.xml:0: error: Resource entry main_background is already defined.
[com.mycom.mylib.myapp] res\drawable\main_background.png:0: Originally defined here.
Run Code Online (Sandbox Code Playgroud)
如何覆盖库项目中的资源?
Fen*_*res 11
您不能简单地使用Android SDK中具有不同扩展名的文件覆盖资源ID(它是您要覆盖的资源ID,而不是实际文件).但是,您可以通过放入具有相同名称(main_background.xml)的项目xml文件来完成这一操作,并以适当的方式填充它以显示您main_background.png需要先重命名的新文件().您需要的所有语法都在这里描述:
http://developer.android.com/guide/topics/resources/drawable-resource.html
,在你的情况下它可能是简单的(假设你将它放在你的非库项目中main_background.xml,并且你有新的png main_background_new.png):
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/main_background_new" />
Run Code Online (Sandbox Code Playgroud)
使用上述解决方案,您可以@drawable/main_background从您的项目中引用,它应该使用该项目中包含的文件,而不是库项目.
| 归档时间: |
|
| 查看次数: |
5068 次 |
| 最近记录: |