ImageView 与 Canvas
ImageView vs Canvas
ImageView class 和 Canvas class 是完全不同的绘制方式还是相关?另外,使用它们各自的优缺点是什么?
比较View
和Canvas
就是比较苹果和橘子。出现在屏幕上的任何内容都在 View
中。 Canvas
只是提供了一种绘制东西的方法;所有 View
类型都在内部使用它,包括 ImageView
。如果您实现自定义 View
类型,则 Canvas
是 onDraw()
的参数,您可以使用它来进行自定义绘图。 Canvas
也可用于绘制屏幕外的 Bitmap
对象,但您仍然需要使用某种 View
对象才能将其绘制到屏幕上。如果您熟悉 Java 的 AWT 或 Swing,请将 Android 的 Canvas
class 视为类似于 J2SE 的 Graphics
class .
有关所有这些工作原理的更多信息,请查看 Android 开发人员指南主题 Canvas and Drawables。
AN ImageView 是一个包含位图对象的视图。你根本不吸引它。它只是屏幕上的位图。
A canvas 是低级绘图抽象 - 它是您可以绘图的地方。您可以进行任何类型的绘制 - 线条、图像文本等。如果您想从头开始绘制复杂的视图,或者绘制内存位图,就可以使用它。
ImageView class 和 Canvas class 是完全不同的绘制方式还是相关?另外,使用它们各自的优缺点是什么?
比较View
和Canvas
就是比较苹果和橘子。出现在屏幕上的任何内容都在 View
中。 Canvas
只是提供了一种绘制东西的方法;所有 View
类型都在内部使用它,包括 ImageView
。如果您实现自定义 View
类型,则 Canvas
是 onDraw()
的参数,您可以使用它来进行自定义绘图。 Canvas
也可用于绘制屏幕外的 Bitmap
对象,但您仍然需要使用某种 View
对象才能将其绘制到屏幕上。如果您熟悉 Java 的 AWT 或 Swing,请将 Android 的 Canvas
class 视为类似于 J2SE 的 Graphics
class .
有关所有这些工作原理的更多信息,请查看 Android 开发人员指南主题 Canvas and Drawables。
AN ImageView 是一个包含位图对象的视图。你根本不吸引它。它只是屏幕上的位图。
A canvas 是低级绘图抽象 - 它是您可以绘图的地方。您可以进行任何类型的绘制 - 线条、图像文本等。如果您想从头开始绘制复杂的视图,或者绘制内存位图,就可以使用它。