Android编程实现activity dialog透明背景的方法

本文实例讲述了Android编程实现activity dialog透明背景的方法。分享给大家供大家参考,具体如下:

首先查一下window  activity的关系

Android编程实现activity dialog透明背景的方法

具体省略。。。。

我的理解就是

每个activity都有一个window 也就是view的最顶层容器
activity是提供给用户交互的一组View容器(window的child)

层次关系是

<window>
<activity>
</activity>
</window>

所以说如果需要设置Actiivty透明

<style name="app_transparent_activity" parent="android:Theme.Light">
  <!-- 是否支持透window明度 -->
  <item name="android:windowIsTranslucent">true</item>
  <!-- window背景颜色 -->
  <item name="android:windowBackground">@android:color/transparent</item>
</style>

需要先设置一下 windowIsTranslucent 让window可以透明。。然后在设置window的背景

这时候 activity是否透明还需要看 activity的 content的背景颜色是否是透明的

只需要在layout里设置一下即可。默认为透明的。。#00000000
【如果isTranslucent设置为false    background属性将不起作用】

同样的 dialog 透明需要设置一下属性

<style name="app_transparent_dialog" parent="android:Theme.Light">
    <!-- 是否支持透window明度 -->
    <item name="android:windowIsTranslucent">true</item>
    <!-- window背景颜色 -->
    <item name="android:windowBackground">@android:color/transparent</item>
    <!-- 屏幕内容区域以外的背景是否可以设置灰度值(与backgroundDimAmount搭配使用) -->
    <item name="android:backgroundDimEnabled">true</item>
    <!-- 灰度值 -->
    <item name="android:backgroundDimAmount">0.8</item>
</style>

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》、《Android窗口相关操作技巧总结》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》、《Android数据库操作技巧总结》、《Android视图View技巧总结》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。