Activity 半透明

/****************************************************************
  实现半透明Activity,覆盖在上一个activity上面,下面的那个activity依然可见
-------------------------------------------------------------------------------------------------------
<activity android:theme="@style/Theme.Translucent">

在values文件夹下建立一个sytles.xml文件
<style name="Theme.Translucent" parent="android:style/Theme.Translucent">
    <item name="android:windowBackground">@drawable/translucent_background</item>
   <item name="android:windowNoTitle">true</item>
   <item name="android:colorForeground">#fff</item>
</style>
/****************************************************************

/****************************************************************
  实现半透明Activity,覆盖在上一个activity上面,下面的那个activity模糊显示
-------------------------------------------------------------------------------------------------------
<activity android:theme="@style/Theme.Transparent">

在values文件夹下建立一个sytles.xml文件
<style name="Theme.Transparent">
   <item name="android:windowIsTranslucent">true</item>
   <item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
   <item name="android:windowBackground">@drawable/transparent_background</item>
   <item name="android:windowNoTitle">true</item>
   <item name="android:colorForeground">#fff</item>
</style>
/****************************************************************

实现半透明Activity,背景为系统桌面壁纸。
<activity android:name="@style/Theme.Wallpaper"/>

<style name="Theme.Wallpaper" parent="android:style/Theme.Wallpaper">
   <item name="android:colorForeground">#fff</item>
</style>

说到这个透明效果.这问题就来了。这个Activity和layout到底是什么关系呢?  如果我这个Activity里面有layout.在这个layout里有各种控件.那控件会透明吗?

我的想法是一个Activity 是一个窗口,layout只是描述如何瓜分这个窗口.他没有外观.真正显示的是那些控件.

上网查了,Acitivity透明的方法网上很详细,我也在此列下吧

res/values文件夹下建立styles.xml:

<?xml version=“1.0″ encoding=“utf-8″?>  

<RESOURCES>  

  <STYLE name=“translucent”>  

    <item name=“android:windowBackground”>@color/translucent_background</item>  

    <item name=“android:windowIsTranslucent”>true</item>  

    <item   name=“android:windowAnimationStyle”>@android:style/Animation.Translucent</item>  

  </STYLE>  

</RESOURCES>  

在该文件夹下在创建文件colors.xml

<?xml version=“1.0″ encoding=“UTF-8″?>  

<RESOURCES>  

<COLOR name=“translucent_background”>#60000000</COLOR>  

</RESOURCES>  
#60000000中,前两位是透明的效果参数从00-99(透明->不透明),后6位是颜色的设置
有了这写设置,就得告诉Activity用这写设置.

AndroidManifest.xml中找到要弹出的activity,加入theme:
android:theme=”@style/translucent”

哎,不错,确实透明了.但是问题又来了,layout里的button不透明啊.如果能让他们也透明或者半透明呢?那得设置窗口属性.

      Window window=getWindow();
         WindowManager.LayoutParams wl = window.getAttributes();
         wl.flags=WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
         wl.alpha=0.6f;      这句就是设置窗口里崆件的透明度的.0.0全透明.1.0不透明.
         window.setAttributes(wl);

猜你喜欢

转载自892848153.iteye.com/blog/1899908