了解Android

时间:2016-11-09 17:28:46

标签: android viewrendering

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

我的第一个问题。

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

我的第二个问题。

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

我的第三个问题。

Here Ian Ne-Lewis告诉我们有两个部分的视图:不透明(在顶部)和半透明(在不透明部分下面)。他说这两个部分没有重叠。但不透明部分位于半透明部分的顶部。那他为什么说这些观点不重叠呢?据我所知,“重叠”意味着在不透明的东西上面有半透明的东西。

1 个答案:

答案 0 :(得分:3)

回答您的第一个问题:

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

第二个问题

要渲染TextView,Android将首先绘制不透明背景,然后绘制半透明文本。正如你在视频中看到的那样:当渲染alpha图层时,android必须重新绘制背景图层以查看alpha混合的颜色。

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

第三个问题

我认为你没有正确理解重叠的含义。这是一个例子: enter image description here