软件编程
位置:首页>> 软件编程>> Android编程>> Android中设置组件半透明和透明的效果示例

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

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

标签:android,半透明,组件

本文介绍了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);
 // ... ...
}

总结

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com