如何检查是否在预览模式下调用了 `onDraw`

How to check, if `onDraw` is called in preview mode

在我的自定义视图中,我使用了 Canvas.drawPaint(Paint) 方法。但是 Android Studio 中的预览显示此消息:

The graphics preview in the layout editor may not be accurate: 
    - Canvas.drawPaint is not supported

drawRect 替换 drawPaint 很容易,但是 drawPaint 的 javadoc 说: 这相当于(但更快)绘制一个无限大的矩形使用指定的油漆。

我的问题是:我是否可以检查我是否在预览模式下绘图,并有条件地使用任一方法?或者其他一些解决方法来使预览工作并保持性能?

您可以使用 View 的内置 isInEditMode() 功能,如下所述: http://developer.android.com/reference/android/view/View.html#isInEditMode%28%29

您还可以在此线程中找到其他方法: Custom Android Views in Eclipse Visual Editor

祝你好运!