ComponentOpacity 拓展
App Inventor 原生没有组件透明度属性:图像、标签、布局这些组件只能完全显示 (可见)或完全隐藏(不可见),中间的半透明状态做不出来。本拓展补上这一个功能: 给任意可视组件设置、获取透明度 0~100(0 完全透明,100 不透明)。
- 支持图像、标签、按钮、布局、画布等可视组件
- 画布上的图像精灵和球同样支持
- 单个功能,即插即用
典型用法:滑动条实时淡入淡出图片、入场动画式的界面渐显、叠加水印式提示文字。
when 滑动条1.PositionChanged(thumbPosition) {
ComponentOpacity1.SetComponentOpacity(图像1, thumbPosition)
}
when 按钮1.Click() {
标签1.Text = join("当前透明度:", ComponentOpacity1.GetComponentOpacity(图像1))
}
when 按钮2.Click() {
ComponentOpacity1.SetComponentOpacity(标签1, 30)
}
(图像1 的 Picture 随便配一张素材即可;滑动条 MinValue 0、MaxValue 100。)
方法
- SetComponentOpacity(component, opacity)
- 给组件设置透明度:0 完全透明 ~ 100 不透明。图像、标签、按钮、布局、画布等可视组件直接生效;画布上的图像精灵和球同样支持。注意:图像精灵重新设置 Picture 属性、球重新设置 PaintColor 属性后,透明度会被还原,请在最后设置透明度。
- GetComponentOpacity(component)
- 获取组件当前透明度(0 完全透明 ~ 100 不透明)。与 SetComponentOpacity 支持的组件范围一致;图像精灵重新设置 Picture、球重新设置 PaintColor 后会读回 100。
注意事项
- 没设置过的组件读回 100(完全不透明)
- 传了不可见组件(如时钟)或空组件会弹错误提示,不会崩溃
- 想做「淡出后不占位置」,透明度设 0 后组件仍在原处占位,需要再配合可见性/布局调整
拓展下载
cn.fun123.ComponentOpacity.aix
案例下载
上面的示例就是一份可直接运行的完整工程(含拓展、示例图片与全部代码块):
扫码添加客服咨询