Android中设置组件半透明和透明的效果示例

作者:myKernel 时间:2023-05-07 18:16:04 

本文介绍了Android是如何设置组件半透明和透明的效果,分享出来供大家参考,下面来看看详细的介绍:

1、Button或者ImageButton的背景设为透明或者半透明

半透明 


<Button android:background="#e0000000" ... />

透明 


<Button android:background="#00000000" ... />

颜色和不透明度 (alpha) 值以十六进制表示法表示。任何一种颜色的值范围都是 0 到 255(00 到 ff)。

对于 alpha,00 表示完全透明,ff 表示完全不透明。表达式顺序是“aabbggrr”,

其中aa=alpha(00 到 ff);bb=blue(00 到 ff);gg=green(00 到 ff);rr=red(00 到 ff)。

例如,如果希望对某叠加层应用不透明度为 50% 的蓝色,则应指定以下值:7fff0000


//Java代码
View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id
v.getBackground().setAlpha(100);//0~255透明度值 ,值越小越透明

2. 使用Android系统自带的透明效果资源


<Button android:background="@android:color/transparent"/>

半透明效果例子如下:

先在color.xml中定义半透明颜色,比如:


<color name="translucent">#55000000</color>

然后,比如在针对全屏Dialog的设定中,在其background中添加上述的半透明效果


<style name="myDialog" parent="@android:style/Theme.Dialog">
 <item name="android:windowFrame">@null</item>
 <item name="android:windowIsFloating">true</item>
 <item name="android:windowIsTranslucent">true</item>
 <item name="android:windowNoTitle">true</item>
 <item name="android:windowBackground">@color/translucent</item>
 <item name="android:backgroundDimEnabled">false</item>
 <item name="android:windowCloseOnTouchOutside">false</item>
</style>

完整的例子 --- Activity设置透明/半透明

在res/values/styles.xml中:


<resources>
<style name="Transparent">
<item name="android:windowBackground">
 @color/transparent_background
</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>  
<item name="android:windowAnimationStyle">
  @+android:style/Animation.Translucent
</item>
</style>
</resources>

在res/values/color.xml中:


<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="transparent_background">#50000000</color>
</resources>

注意:

//color.xml的#5000000前两位是透明的效果参数从00--99(透明--不怎么透明),

//后6位是颜色的设置

manifest.xml中的设定:


<activity
android:name=".TransparentActivity"
android:theme="@style/Transparent">
</activity>

java代码


public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setTheme(R.style.Transparent);  
 setContentView(R.layout.transparent);
 // ... ...
}

总结

标签:android,半透明,组件
0
投稿

猜你喜欢

  • android中Bitmap用法(显示,保存,缩放,旋转)实例分析

    2022-07-03 14:18:41
  • c# RSA非对称加解密及XML&PEM格式互换方案

    2022-07-10 12:19:31
  • 在Java中int和byte[]的相互转换

    2023-09-23 15:35:45
  • Java InheritableThreadLocal用法详细介绍

    2023-01-27 04:30:11
  • SpringBoot文件访问映射如何实现

    2022-07-22 00:36:07
  • Visual C#类的定义及实现方法实例解析

    2023-06-04 18:10:37
  • 详解Spring中使用@within与@target的区别

    2022-11-18 17:58:24
  • java协程框架quasar和kotlin中的协程对比分析

    2021-06-25 23:22:05
  • 一场由Java中Integer引发的踩坑实战

    2021-09-06 11:14:40
  • c#执行excel宏模版的方法

    2022-11-15 12:04:03
  • Java给PDF加水印并合并多个文件

    2023-01-01 17:59:02
  • C# 实现PPT 每一页转成图片过程解析

    2023-02-21 10:01:27
  • Android 微信6.1 tab栏图标和字体颜色渐变的实现

    2023-12-14 22:34:04
  • 详解Java拦截器以及自定义注解的使用

    2023-05-14 01:40:16
  • unity实现场景切换进度条显示

    2022-05-16 20:56:42
  • Android中ImageView用法实例分析

    2023-04-03 19:42:28
  • Android 用 camera2 API 自定义相机

    2023-04-30 11:29:37
  • IDEA导入外部项目报Error:java: 无效的目标发行版: 11的解决方法

    2021-08-25 03:02:27
  • 验证码的三个常见漏洞和修复方法

    2023-10-25 17:46:26
  • C#实现给图片添加日期信息的示例详解

    2021-07-29 21:19:28
  • asp之家 软件编程 m.aspxhome.com