Android有趣的全透明效果--Activity及Dialog的全透明(轉載)
阿新 • • 發佈:2019-01-01
1.Activity全透明
同學zzm給了這個有趣的程式碼,現在公佈出來。
先在res/values下建colors.xml檔案,寫入:
- <? xml version = "1.0" encoding = "UTF-8" ?>
- < resources >
- < color name = "transparent" > #9000 </ color >
- </ resources >
這個值設定了整個介面的透明度,為了看得見效果,現在設為透明度為56%(9/16)左右。
再在res/values/下建styles.xml,設定程式的風格
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <style name="Transparent">
- <item name="android:windowBackground">@color/transparent</item>
- <item name="android:windowIsTranslucent">true</item>
- <item name="android:windowAnimationStyle">@+android:style/Animation.Translucent</item>
- </style>
- </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>