【发布时间】:2012-05-28 09:29:21
【问题描述】:
我有两个 Android 应用程序,它们的功能相似,但绘图和布局不同。
我想将所有代码和资源放在一个库项目中,并覆盖两个应用程序中引用该库的一些可绘制对象和布局。
我创建了一个引用该库的应用程序。我将所有资源从库复制到应用程序并更改了一些可绘制对象。我还更改了一些字符串资源。当我在 Eclipse 的布局编辑器中查看更改的布局之一时,我看到了正确的覆盖图像。
当我启动应用程序时,我看到我在应用程序中更改的字符串资源正确显示(库字符串被应用程序的资源覆盖),但我的ImageViews 的可绘制对象全部取自图书馆资源。
我还对一些布局资源进行了更改(移动并调整了一些图像的大小)。当我启动一个使用更改后的布局的活动(其源代码在库中的活动)时,我会看到新的(应用程序)布局和旧的(库)可绘制对象。
我尝试以两种方式定义 ImageViews 的可绘制对象:
在布局xml中:
android:src="@drawable/image_id"-
在活动代码中:
ImageView view = (ImageView)findViewById(R.id.viewId); view.setImageResource(R.drawable.image_id);
在这两种情况下,我看到的图像均来自库项目的资源,而不是应用程序。
如果我不能解决这个问题,我将不得不复制两个应用程序中的所有代码,这将是一种耻辱。
我做错了吗?
【问题讨论】:
-
我为你的问题投了票,因为它看起来很有用,尤其是你自己的答案,在 cmets 中提供。我认为覆盖drawables与覆盖方法一样重要,并且使事情变得更容易和简化。不需要过多的参数和编码。
标签: android drawable android-imageview android-library