Chrisの梳羽之礁

A look of quick intelligence and soft refinement
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

原文:Android有趣的全透明效果--Activity及Dialog的全透明

 

  1.Activity全透明

  同学zzm给了这个有趣的代码,现在公布出来。

  先在res/values下建colors.xml文件,写入:

 

1 <? xml version = "1.0" encoding = "UTF-8" ?> 
2 <resourcs> 
3   <color name = "transparent">#9000</color> 
4 </resources > 

 


  这个值设定了整个界面的透明度,为了看得见效果,现在设为透明度为56%(9/16)左右。

  再在res/values/下建styles.xml,设置程序的风格

 1   < ?xml version="1.0" encoding="utf-8"?> 
 2 
 3   < resources> 
 4 
 5   < style name="Transparent"> 
 6 
 7   < item name="Android:windowBackground">@color/transparent< /item> 
 8 
 9   < item name="android:windowIsTranslucent">true< /item> 
10 
11   < item name="android:windowAnimationStyle">@+android:style/Animation.Translucent< /item> 
12 
13   < /style> 
14 
15   < /resources> 

 


  最后一步,把这个styles.xml用在相应的Activity上。即在AndroidManifest.xml中的任意< activity>标签中添加

  android:theme = "@style/transparent"

  如果想设置所有的activity都使用这个风格,可以把这句标签语句添加在< application>中。

  最后运行程序,哈哈,是不是发现整个界面都被蒙上一层半透明了。最后可以把背景色#9000换成#0000,运行程序后,就全透明了,看得见背景下的所有东西可以却都操作无效。呵呵....

  2.Dialog全透明

  1.准备保留边框的全透明素材如下图:

  2.在values中新建一styles.xml文件,内容如下:

  < ?xml version="1.0" encoding="UTF-8"?> 

  < resources> 

  < style name="TANCStyle" parent="@android:style/Theme.Dialog"> 

  < !-- 更换背景图片实现全透明 --> 

  < item name="android:windowBackground">@drawable/panel_background_sodino1< /item> 

  < !-- 屏幕背景不变暗 --> 

  < item name="android:backgroundDimEnabled">false< /item>

       < !-- 更改对话框标题栏 --> 

  < item name="android:windowTitleStyle">@style/TitleStyle< /item> 

  < /style> 

  < style name="TitleStyle" parent="@android:style/DialogWindowTitle"> 

  < item name="android:textAppearance">@style/TitleText< /item> 

  < /style> 

  < style name="TitleText" parent="@android:style/TextAppearance.DialogWindowTitle"> 

  < !-- 设置Dialog标题栏文字颜色。 --> 

  < item name="android:textColor">#000< /item> 

  < /style> 

  < /resources>