Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 自定义视图只重绘一次,然后调用onDraw,但屏幕不会更新_Android_View - Fatal编程技术网

Android 自定义视图只重绘一次,然后调用onDraw,但屏幕不会更新

Android 自定义视图只重绘一次,然后调用onDraw,但屏幕不会更新,android,view,Android,View,我有一个视图子类,它调用onDraw,但屏幕不会立即更新 请注意,当我将我的应用程序设置为compatibilitySDK(目标SDK Api级别8)。目标SDK 14它永远不会更新 onDraw被称为onDraw,但它就像是一个水槽 有什么不对劲吗 编辑:我看到它实际上是一个用于绘图的Gles20录制画布,但这并不能解释为什么它不重画。当我将视图设置为软件渲染模式时,它会绘制。强制视图绘制、调用或。这可以在任何视图子类上完成。使用API 14,您的应用程序是硬件加速的。你确定是吗 在包含此dr

我有一个视图子类,它调用onDraw,但屏幕不会立即更新

请注意,当我将我的应用程序设置为compatibility
SDK(目标SDK Api级别8)
。目标
SDK 14
它永远不会更新

onDraw被称为onDraw,但它就像是一个水槽

有什么不对劲吗


编辑:我看到它实际上是一个用于绘图的Gles20录制画布,但这并不能解释为什么它不重画。当我将视图设置为软件渲染模式时,它会绘制。

强制视图绘制、调用或。这可以在任何视图子类上完成。

使用API 14,您的应用程序是硬件加速的。你确定是吗 在包含此drawPath代码的视图上调用invalidate()


谢谢

我找到了解决方案,视图必须通过软件加速

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

很蠢,但它能用。

你能只粘贴相关代码吗?也可以查看以下帖子: