Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
5年前关闭。
因此,我要创建一个自定义视图,为此我必须经常(60 FPS)并无限地绘制不同的位图以实现动画。
我不能使用AnimationDrawable,这不是重复Drawables的固定循环。
我以为它就像在自定义视图中的onDraw()事件一样简单,我会在canvas参数上调用setBitmap()。但是,我得到了UnsupportedOperationException。在Canvas上,我在onDraw()事件之外创建自己的对象,setBitmap可以正常工作。
我看到我在为自定义视图隐式使用Canvas的硬件加速实现(GLES20RecordingCanvas)。 setBitmap()方法的实现只是抛出UnsupportedOperationException()。
为什么?
开发人员根本没有实现此方法(尚未)
请注意
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
5年前关闭。
因此,我要创建一个自定义视图,为此我必须经常(60 FPS)并无限地绘制不同的位图以实现动画。
我不能使用AnimationDrawable,这不是重复Drawables的固定循环。
我以为它就像在自定义视图中的onDraw()事件一样简单,我会在canvas参数上调用setBitmap()。但是,我得到了UnsupportedOperationException。在Canvas上,我在onDraw()事件之外创建自己的对象,setBitmap可以正常工作。
我看到我在为自定义视图隐式使用Canvas的硬件加速实现(GLES20RecordingCanvas)。 setBitmap()方法的实现只是抛出UnsupportedOperationException()。
为什么?
最佳答案
在这里查看source code:
@Override
public void setBitmap(Bitmap bitmap) {
throw new UnsupportedOperationException();
}
开发人员根本没有实现此方法(尚未)
请注意
GLES20Canvas extends HardwareCanvas
和GLES20RecordingCanvas extends GLES20Canvas
关于android - 为什么GLES20RecordingCanvas#setBitmap总是抛出UnsupportedOperationException? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21910257/
10-10 01:44