“解决方案#2(动态)”这个提问/回答后:如何从动态创建的(在Java中)layer-list/LayerDrawable获取Android资源ID?
overlay two images in android to set an imageview
非常接近我想要做的,这是动态创建图层列表(一个状态栏通知图标,我想在图层中构建我的图标),但通知API中的图标分配需要资源ID(我想从服务调用)。
我无法弄清楚如何在不构建数百个层列表.xml文件(针对我希望能够显示的各种图标组合)的情况下构建动态构建图层列表。 Daniel的“解决方案#1”对于静态的.xml文件非常有用,但我正在寻找更优雅,动态的解决方案。
在上述职位,代码片段:
Resources r = getResources();
Drawable[] layers = new Drawable[2];
layers[0] = r.getDrawable(R.drawable.t);
layers[1] = r.getDrawable(R.drawable.tt);
LayerDrawable layerDrawable = new LayerDrawable(layers);
似乎是我想要的,但我不知道或者不知道如何“分配”新layerDrawable我的通知图标(这需要资源ID)。
感谢所有... stackoverflow是一个很好的资源!
谢谢,Aleadam(亚当?)!对不起,我以前没有看到您的回复;)。我从你的第一句话猜测,我只能填充我的状态栏图标一个静态创建的资源:(我希望有一种方法来保持不必在层列表.xml文件中构建我所有的图标组合。并且再次感谢您的回复--Sean – 2011-06-10 19:49:52
我相信资源是引用通知图标的唯一方式,但您应该只需要为每个屏幕密度添加一个图标。 – Aleadam 2011-06-11 04:10:39