绝对布局上放一个按钮, 按钮上放张图片 .
按钮上放这个图片
然后:
绝对布局.背景颜色 = 黑色
按钮.背景透明度 = 1 '透明度范围为0到1,0为完全透明,1为不透明。
绝对布局1.添加组件(按钮1)
这样才能正常显示!不对啊!
按钮在不透明的情况下,图片还可以是黑色的?
想来正常是 按钮.背景透明度在完全透明的情况下,才能显示绝对布局.背景颜色的黑啊??
与按钮 透明度 无关
按钮的背景颜色不写
在安卓开发中,组件的透明度(Alpha) 和组件上显示背景透明的图片(如带透明通道的 PNG 图)都能影响视觉上的“透明效果”,但原理和影响范围不同,二者的关系可从以下角度理解:
1. 本质区别
- 背景透明的图片:图片自身包含透明区域(通过像素的 alpha 通道实现),仅影响图片内部的透明部分,不改变图片所在组件或其他内容的透明度。
例如:一张中间有图案、边缘透明的 PNG 图,显示时只有图案部分可见,边缘会透出组件的背景色或父布局的内容。
- 组件的透明度(Alpha):作用于整个组件(包括组件内的所有内容,如图片、文字、子控件等),使整个组件及内部元素整体变透明。
例如:给 ImageView 设置 alpha=0.5f,无论它显示的是完全不透明的图片还是带透明通道的图片,整个 ImageView 及其内容都会半透明。
2. 叠加效果
当两者同时存在时,会产生“叠加透明”效果:
- 图片自身的透明区域会先生效(例如图片某部分 alpha=0.3),然后组件的整体透明度(例如 alpha=0.5)会再作用于这部分,最终该区域的实际透明度为两者的叠加(视觉上更透明)。
- 反之,若图片完全不透明(alpha=1.0),则组件的透明度直接决定其整体透明程度。
总结
- 图片的透明是“局部性”的,仅由图片自身的透明通道决定,只影响图片内部。
- 组件的透明度是“整体性”的,影响整个组件及内部所有内容,包括图片。
- 两者可以同时作用,产生叠加的透明效果。