此问题/答案帖子中的“解决方案#2(动态)”:
在android中叠加两个图像以设置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 是一个很棒的资源!
Use "获取标识符”来获取它。假设我在“/res/drawable/”中有一个文件bug.png,那么我用以下代码获取它的ResourceID:
int resID = getResources().getIdentifier("org.anddev.android.testproject:drawable/bug", null, null);
// or
int resID = getResources().getIdentifier("bug", "drawable", "org.anddev.android.testproject");
参考:
anddev.org
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)