3

我正在看视频https://youtu.be/wIy8g8yNhNk

我的第一个问题。

据我从视频中了解到,当我们绘制一个View不透明的图形时,我们只是将数据,粗略地说,一个位图放到屏幕上。这叫渲染。是对的吗?

我的第二个问题。

现在让我们用不透明的背景绘制一个TextView半透明的文本。为什么它应该是视频中描述的两步过程:我们绘制TexView不透明的,然后应用新的 alpha 值使文本半透明?它只是Android的设计方式吗?为什么我们不能一步画出一个半透明的像素?

我的第三个问题。

在这里,Ian Ne-Lewis 向我们介绍了一个包含两部分的视图:不透明(顶部)和半透明(不透明部分下方)。他说这两个部分不重叠。但不透明部分位于半透明部分之上。那么他为什么说这些观点不重叠呢?据我了解,“重叠”是指在不透明的东西之上有一些半透明的东西。

4

1 回答 1

4

回答你的第一个问题:

渲染是 Android 框架在屏幕上绘制不透明视图时执行的过程。

第二个问题

为了呈现该 TextView,Android 将首先绘制不透明背景,然后绘制半透明文本。正如您在视频中看到的:当渲染 alpha 图层时,android 必须重新绘制背景图层以查看 alpha 应该混合到什么颜色。

这就是 Android 的设计方式。即使背景和文本都是不透明的,Android 也会先绘制背景,然后再绘制文本(但这次它不需要检查背景来混合)。

第三个问题

我认为您没有正确理解重叠的含义。这是一个例子: 在此处输入图像描述

于 2016-11-13T09:28:05.083 回答