本文實例講述了Android編程實現activity dialog透明背景的方法。分享給大家供大家參考,具體如下:
首先查一下window activity的關系

具體省略。。。。
我的理解就是
每個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程序設計有所幫助。
新聞熱點
疑難解答