我正在尝试将LayerDrawable用于自定义UI小部件,并且使用与其他层不同的边界绘制一个图层,但它似乎不起作用.基本上,我的代码执行此操作:
int left,top,right,bottom;
/*... do some math ... */
Drawable d = mDrawable.findDrawableByLayerId(R.id.some_specific_layer);
d.setBounds(left,bottom);
同时,xml看起来像这样:
android:id="@id/some_specific_layer"
android:drawable="@drawable/some_drawable"/>
理想情况下,我会在灰色矩形上看到some_drawable,从后面显示灰色量取决于边界计算的结果.但我从来没有看到任何灰色层,它似乎是因为它的界限也是以某种方式设置的.
编辑
以下是期望与预期结果的视觉效果:
顶部的图像是我想要实现的;灰色对应于第一层,而渐变对应于具有预定义id的第二层.实际结果从未显示灰色.
有谁知道是否可以在不影响其他图层的情况下设置LayerDrawable的一层边界?