【问题标题】:What exact call initiate the drawing of a view on screen?什么确切的调用启动在屏幕上绘制视图?
【发布时间】:2021-11-01 10:31:00
【问题描述】:

我试图理解inflating a view是什么意思,发现了这个话题:

What does it mean to inflate a view from and xml file?

但我对接受的答案并不满意,因为它提到膨胀视图会导致其呈现,而我认为它只负责通过构建视图对象将 XML 布局转换为相应的代码,而且我'我想知道是不是这样,如果不是,什么可以启动屏幕上的视图绘制?

谁能通过提供可信或官方文件来澄清我的问题?

【问题讨论】:

  • 为什么不将它作为评论发布在同一个线程中?
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
  • @Community,我的问题很简单,我提了两遍,想明白的人也很好理解。

标签: android android-layout android-inflate


【解决方案1】:

View 的每个子类都会覆盖 View 类中的 onDraw() 方法。这是View 实际指定如何在屏幕上绘制的地方。所有绘图都在ViewCanvas 上进行,Canvas 的尺寸由您在布局文件中为该View 设置的宽度和高度属性指定。

例如,这是onDraw()TextView 方法:

https://android.googlesource.com/platform/frameworks/base/+/jb-mr0-release/core/java/android/widget/TextView.java#4738

【讨论】:

  • 视图对象创建时会自动绘制自己吗?
  • 没错,是的。尽管此时更有可能是框架本身调用此方法,而不是对象自己调用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-24
  • 1970-01-01
  • 1970-01-01
  • 2017-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多