1. 程式人生 > >Android有趣的全透明效果--Activity及Dialog的全透明(轉載)

Android有趣的全透明效果--Activity及Dialog的全透明(轉載)

1.Activity全透明

同學zzm給了這個有趣的程式碼,現在公佈出來。

先在res/values下建colors.xml檔案,寫入:

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

這個值設定了整個介面的透明度,為了看得見效果,現在設為透明度為56%(9/16)左右。

再在res/values/下建styles.xml,設定程式的風格

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

最後一步,把這個styles.xml用在相應的Activity上。即在AndroidManifest.xml中的任 意<activity>標籤中新增

  1. 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>