Android初学习 - 组件半透明和透明的效果


1. 
半透明
<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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值