设置控件透明度的3种方法
需求
有时会需要改变布局颜色透明度,比如设置控件(如View,Button等)的透明度,有3种方法。
实现方法
java代码实现
text = (TextView) findViewById(R.id.text);
text.getBackground().setAlpha(12);
若TextView未设置背景色,可以直接使用text.setAlpha(12)方式设置其透明度
setAlpha()的括号中可以填0–255之间的数字。数字越大,越不透明。
注意点:在5.0以上系统时,有些机型会出现莫名其妙的颜色值不起作用,变成透明了,也就是用此方法会导致其他共用一个资源的布局(例如:@color/white)透明度也跟着改变。
比如text用上述方法设置成透明后,项目中,其他用到text颜色值的控件,都变成透明了。
原因:在布局中多个控件同时使用一个资源的时候,这些控件会共用一个状态,例如ColorState,如果你改变了一个控件的状态,其他的控件都会接收到相同的通知。这时我们可以使用mutate()方法使该控件状态不定,这样不定状态的控件就不会共享自己的状态了。
text.getBackground().mutate().setAlpha(12);
在xml布局中进行设置
<TextViewandroid:id="@ id/text"android:text="Hello World!"android:background="#987654"android:layout_width="match_parent"android:alpha="0.5"android:layout_height="100dp" />
android:alpha的值为0~1之间的数。数字越大,越不透明。1表示完全不透明,0表示完全透明。
在xml布局中通过android:background设置
<TextViewandroid:id="@ id/text"android:text="Hello World!"android:background="#80987654"android:layout_width="match_parent"android:layout_height="100dp" />123456
颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。对于 alpha,00 表示完全透明,ff 表示完全不透明。android:background的值的格式为”#AARRGGBB”。AA即透明度,R、G、B是红绿蓝三色。每一位均为0–F的十六位数。其中透明度的数值越大,越不透明。因此这里如果想设置透明度为50%的白色的话,可以如上设置。
设置控件透明度的3种方法相关推荐
- C# 删除chart控件网格:两种方法
C#winform程序 - 删除chart控件网格:两种方法 看网上说把网格线的颜色换成背景色,感觉不太正宗.... 于是探索了一下,喜欢的同鞋点个赞收藏一下呗! 1.编辑控件属性 (点击图片放大观看 ...
- C#自动实现Dll(OCX)控件注册的两种方法
打印这篇文章 尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候 ...
- android控件字体,android 设置控件的颜色字体的方法
1.用代码设置控件的颜色: int b = getResources().getColor(R.drawable.blue);//得到配置文件里的颜色 mButton.setTextColor(b) ...
- ActiveX 控件注册的几种方法 VC++编写
ActiveX 控件是一个动态链接库,是作为基于COM 服务器进行操作的,并且可以嵌入在包容器宿主应用程序中,ActiveX 控件的前身就是OLE 控件.由于ActiveX 控件与开发平台无关,因此, ...
- android 加阴影,Android设置控件阴影的三种方式
释放双眼,带上耳机,听听看~! 第一种方式:elevation View的大小位置都是通过x,y确定的,而现在有了z轴的概念,而这个z值就是View的高度(elevation),而高度决定了阴影(sh ...
- php设置背景为透明,css如何设置背景颜色透明?css设置背景颜色透明度的两种方法介绍...
在网页布局中有时为了网页的整体美观,可能需要将网页中的某些部分设置为背景颜色透明,那么如何设置背景颜色透明呢?本篇文章就来给大家介绍一下css设置背景颜色透明的方法. 在css中设置背景颜色透明的方法 ...
- css如何设置背景颜色透明?css设置背景颜色透明度的两种方法介绍
在网页布局中有时为了网页的整体美观,可能需要将网页中的某些部分设置为背景颜色透明,那么如何设置背景颜色透明呢?本篇文章就来给大家介绍一下css设置背景颜色透明的方法. 在css中设置背景颜色透明的方法 ...
- .net后台获取html控件值的2种方法
方法1: C# Label1.Text = Request.Form["txtName"].ToString(); vb.net Request.Form("txtNam ...
- android获取该控件在屏幕,android获取屏幕宽高与获取控件宽高(三种方法)
1.获取屏幕宽高 方法1: int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕宽(像素,如:480px ...
最新文章
- linux oracle 关闭防火墙,Linux 下关闭防火墙设置
- import win32com.client在python中报错及其解决办法
- 浅析SVM中的对偶问题
- C++ 二叉树深度优先遍历和广度优先遍历
- 创建hadoop 归档文件
- Symbian S60 自动通话录音
- 关于中国互联网的国际出口-转载
- lpush和rpush的区别_Redis系列(七):数据结构List双向链表中LPUSH、LPOP、RPUSH、RPOP、LLEN命令...
- 人工智能迅猛发展,如何应对避免失业?
- 【PaddleHub模型贡献】一行代码实现海洋生物识别
- Mac安装boost
- You are the reason I am
- 11. 文件操作与模块
- Windows下的你画我猜 -- 告别效率低下的目录扫描方法
- 西方经济学微观部分中的英文字母缩写
- 用c 语言求纸对折的次数,纸张对折新纪录:13次
- Android 不分区使用link2sd(app2ext APP2SD)
- web网页设计—— 指环王:护戒使者(13页) 电影网页设计 在线电影制作 个人设计web前端大作业
- 北美票房排行榜 实时_诸城客房管理软件排行榜
- AcWing 0x00. 语法基础课【Python3】版题解-顺序/判断/循环语句