关闭

Android关于透明度的总结

标签: android开发
289人阅读 评论(0) 收藏 举报
分类:

Android关于透明度的总结

设置透明效果 大概有三种

1、用android系统的透明效果
Java代码
android:background=”@android:color/transparent”

例如 设置按钮
Java代码

<Button android:background="@android:color/transparent"  
  android:text="@+id/Button01"  
  android:id="@+id/Button01"  
  android:layout_width="wrap_content"  
  android:layout_height="wrap_content"  
  android:textColor="#ffffff" />  

2、用ARGB来控制
Java代码

<Button android:background="#e0000000" />//半透明 
<Button android:background="#00000000" /> //透明

3、设置alpha
Java代码

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

android 窗体透明的,黑暗度等的设置技巧
设置透明度(这是窗体本身的透明度,非背景)

//第一步
WindowManager.LayoutParams lp=getWindow().getAttributes();
//第二步
lp.alpha=0.3f;//alpha在0.0f到1.0f之间。1.0完全不透明,0.0f完全透明
//第三步
getWindow().setAttributes(lp);

设置黑暗度

//第一步
WindowManager.LayoutParams lp=getWindow().getAttributes();
//第二步
lp.dimAmount=0.5f;
//第三步
getWindow().setAttributes(lp);
//第四步
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dimAmount在0.0f1.0f之间,0.0f完全不暗,1.0f全暗

设置背景模糊

//第一步
getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
//第二步
WindowManager.LayoutParams.FLAG_BLUR_BEHIND);

以上设置对dialog对话框同样有效

Activity的透明、半透明效果的设置transparent
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(透明–不怎么透明),(我认为应该是00-ff)(从完全透明到完全不透明,这个是16进制的,alpha从0-255是透明到不透明完全一一对应)
//后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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1669次
    • 积分:60
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档