繁体   English   中英

从Android中的库项目访问可绘制的资源

[英]Accessing drawable rescources from a library project in Android

我正在尝试从我的图书馆项目中搜索android中资源文件中的drawable(图片),是否可能没有实际android项目的上下文,或者是否需要添加? 另外,如何通过使用字符串作为ID名称通过我的图书馆项目找到ID,然后将其转换为适当的整数以设置背景资源。

到目前为止,这是我尝试过的方法:可以,但是仅查看库项目中的资源,我需要查看当前应用程序项目中的资源

  try
            {
                Class res = R.drawable.class;
                Field field =
                    res.getField("string_ID_I_want");
                drawableId = field.getInt(null);
            }

实际的可绘制资源已编译到您的应用程序中,因此访问它们与访问常规应用程序资源没有什么不同。

假设库中可绘制的ID为big_picture。 然后R.drawable.big_picture是要加载的可绘制对象的ID。 您不必使用自省。 如果R.drawable.big_picture不可用,则您的项目设置有问题(或编译错误)。

您的库项目的软件包名称是什么。

如果您的软件包名称为com.examplelib.blahblah而您的可绘制对象称为myicon ,则只需确保

import com.examplelib.blablah.R;

然后,在导入此R的同一文件中,只需键入R.drawable.myicon

Context context = getApplicationContext();
Resources r = context.getResources();
r.getDrawable(id);  //pass your drawable id in it, could be R.id.whatever

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM