android半透明怎么做?这几个步骤让你轻松搞定!

吉云

最近在搞一个安卓小项目,有个地方需要用到半透明的效果,这可把我给难住。以前没怎么搞过这玩意,只能硬着头皮上,边查资料边摸索,总算是给弄出来。今天就来分享一下我的实践过程,希望能帮到有同样需求的小伙伴。

瞎捣鼓的开始

我啥也不懂,就在布局文件里瞎捣鼓。找到那个需要半透明的控件,直接在android:background属性里设置颜色。我想,这颜色嘛肯定有办法调透明度,于是就在网上找各种颜色代码。

android半透明怎么做?这几个步骤让你轻松搞定!

试好几个,什么#80000000#7F000000之类的,看着像是那么回事,结果放到模拟器上一跑,要么全黑,要么没效果,搞得我一头雾水。

找到点门路

后来我静下心来,仔细查查资料,才知道原来安卓里设置透明度,主要是通过颜色值的alpha通道来控制的。alpha值就是颜色值的前两位,范围是00到FF,00表示完全透明,FF表示完全不透明。

比如说,我要设置一个半透明的黑色背景,就可以用#80000000,其中80就是alpha值,表示50%的透明度(因为80是十六进制,换算成十进制就是128,正好是255的一半)。

这下我心里就有底,在布局文件里找到那个控件,把android:background属性改成#80000000,一运行,还真出来!

更进一步

android半透明怎么做?这几个步骤让你轻松搞定!

虽然在布局文件里设置半透明效果成功,但我这人比较喜欢折腾。我想,能不能在代码里动态控制透明度?这样就可以根据不同的情况,显示不同的效果。

于是我又开始查资料,发现可以通过设置ViewsetAlpha()方法来控制透明度。这个方法的参数是一个0到1之间的浮点数,0表示完全透明,1表示完全不透明。

我赶紧在代码里试试:

  • 先找到那个控件:View myView = findViewById(*_view);
  • 然后设置透明度:*(0.5f);
  • android半透明怎么做?这几个步骤让你轻松搞定!

一运行,效果跟在布局文件里设置的一模一样!这下我就更开心,以后就可以根据需要在代码里随意控制透明度。

更高级的玩法(状态栏)

后来在一次开发中,遇到一个需求.要求是使状态栏呈现半透明,使得底层的布局透过状态栏.继续研究发现,状态栏的透明度也是可以通过背景颜色的alpha值来控制的.通过控制颜色值来实现.

总结

这回搞安卓半透明效果,虽然一开始有点懵,但通过不断尝试和查资料,最终还是搞定。主要有两种方法:

android半透明怎么做?这几个步骤让你轻松搞定!

  • 在布局文件中设置:通过android:background属性设置颜色值,其中alpha通道控制透明度。
  • 在代码中设置:通过ViewsetAlpha()方法设置透明度,参数是一个0到1之间的浮点数。

希望我的分享能帮到大家,以后再遇到类似的需求,就不会像我一样手忙脚乱。哈哈,今天的分享就到这里,下次再见!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]