我可以使用以下代码根据状态(例如我的扩展OverlayItem
类中的字段)绘制标记:
@Override
public Drawable getMarker(int pStateBitset)
{
Drawable currentMarker = super.getMarker(pStateBitset);
Drawable[] toDrawLayers;
if (mSelected)
{
BitmapDrawable overlay = (BitmapDrawable) mSELECTED_OVERLAY;
overlay.setAntiAlias(true);
toDrawLayers = new Drawable[] { currentMarker, overlay };
}
else
{
toDrawLayers = new Drawable[] { currentMarker };
}
return new LayerDrawable(toDrawLayers);
}
这可以按预期工作(绘制标记,例如)。标记的发光是我希望实现的效果。根据上面的代码,它是通过两个分层Drawable
生成的,即(例如)和。
我必须确保发光的大小与普通标记图像相同,因此生成的Drawable
不会重新缩放(标记图像大小为32x37像素)。
然而,我的目标实际上是更大的光芒(确实会产生更大的图像),例如:
如何渲染产生更大光晕的drawable(因此使用的图像确实比普通标记图像大)并且不会导致缩放/调整大小的正常标记?那可行吗?
在此先感谢,如有必要,我可以提供任何其他详细信息。