Android设置透明、半透明等效果

来源:互联网 发布:苹果tv网络电视 编辑:程序博客网 时间:2024/06/16 10:29

设置透明效果 大概有三种

1、用android系统的透明效果
Java代码
android:background=”@android:color/transparent”

2、用ARGB来控制
ARGB—Alpha,Red,Green,Blue
一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。
Alpha,图像通道,全强度为FF,表示无透明度,即不透明;无强度为00 ,表示全透明。因此,透明像素颜色值为 Alpha位-00,Red位、Green位、Blue位为任意值,例如:0x00FFFFFF为透明色,即透明。
  如果图形卡具有32位总线,附加的8位信号就被用来保存不可见的透明度信号以方便处理用,这就是Alpha通道。白色的alpha象素用以定义不透明的彩色象素,而黑色的alpha象素用以定义透明象素,黑白之间的灰阶用来定义半透明象素。

色彩合成:
设alpha,red,green,blue都是0~255之间的数
color32 = alpha << 24 | red << 16 | green << 8 | blue;

色彩提取:
alpha = color32 >> 24;
red = color32 >> 16 & 0xFF;
green = color32 >> 8 & 0xFF;
blue = color32 & 0xFF;

3、设置alpha
View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id
v.getBackground().setAlpha(100);//0~255透明度值

android 窗体透明的,黑暗度等的设置技巧
设置透明度(这是窗体本身的透明度,非背景)

WindowManager.LayoutParams lp=getWindow().getAttributes();
lp.alpha=0.;
getWindow().setAttributes(lp);

alpha在0.0f到1.0f之间。1.0完全不透明,0.0f完全透明

设置黑暗度
WindowManager.LayoutParams lp=getWindow().getAttributes();
lp.dimAmount=0.5f;
getWindow().setAttributes(lp);

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dimAmount在0.0f和1.0f之间,0.0f完全不暗,1.0f全暗

设置背景模糊
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
以上设置对dialog对话框同样有效

0 0
原创粉丝点击