1. <source id="nejs2"></source>
  2. <video id="nejs2"></video>
    <source id="nejs2"></source>
          1. 首頁 > 安卓筆記 > Android透明度表:快速選擇對應的透明度值

            Android透明度表:快速選擇對應的透明度值

            更新:

            一、透明度的概念

            透明度是指控制一個視圖的不透明程度,取值范圍從0到255,0表示完全透明,255表示完全不透明。

            在開發中,我們經常需要改變一個視圖的透明度,來達到一些特殊的效果,例如:滑動背景透明度,實現毛玻璃效果等。在這些情況下,透明度的改變非常重要。

            二、如何設置透明度

            在Android中,設置透明度有多種方法:

            方法一:使用setAlpha()方法

            view.setAlpha(0.5f);
            

            使用setAlpha()方法可以直接設置透明度,參數范圍從0~1之間,0表示完全透明,1表示完全不透明。

            方法二:使用setBackgroundAlpha()方法

            public static void setBackgroundAlpha(Activity activity, float alpha) {
                WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
                lp.alpha = alpha;
                activity.getWindow().setAttributes(lp);
            }
            

            通過設置Activity的Window屬性,可以實現調整整個Activity的透明度。

            方法三:使用xml文件設置透明度

            android:alpha="0.5"
            

            在xml文件中可以使用alpha屬性設置透明度,同樣范圍從0~1,但是只能在API 11以上使用。

            三、透明度表的使用

            在日常開發中,經常需要手動計算透明度數值,這是件費時費力的事情。透明度表的出現,可以方便快速的查找對應的透明度數值。

            下面是透明度表的示例代碼:

            public class AlphaTable {
                private static final SparseArray sAlphaTable = new SparseArray();
            
                static {
                    sAlphaTable.put(0, 0.0f);
                    sAlphaTable.put(1, 0.04f);
                    sAlphaTable.put(2, 0.08f);
                    sAlphaTable.put(3, 0.12f);
                    sAlphaTable.put(4, 0.16f);
                    sAlphaTable.put(5, 0.20f);
                    sAlphaTable.put(6, 0.24f);
                    sAlphaTable.put(7, 0.28f);
                    sAlphaTable.put(8, 0.31f);
                    sAlphaTable.put(9, 0.35f);
                    // 省略241個數值......
                    sAlphaTable.put(251, 0.98f);
                    sAlphaTable.put(252, 0.99f);
                    sAlphaTable.put(253, 0.99f);
                    sAlphaTable.put(254, 1.0f);
                    sAlphaTable.put(255, 1.0f);
                }
            
                public static float getAlpha(int index) {
                    return sAlphaTable.get(index, 0.0f);
                }
            }
            

            使用透明度表可以非常方便的獲取對應的透明度數值。只需要傳入透明度的序號,就可以返回對應的透明度數值。

            float alpha = AlphaTable.getAlpha(100);
            view.setAlpha(alpha);
            

            四、總結

            透明度是一個常用的開發屬性,在Android中設置透明度有多種方法。使用透明度表可以方便快速的獲取對應的透明度數值,提高開發效率。

            希望本文對大家有所幫助,謝謝!

            文章目錄
            頂部 久久久久99精品成人片毛片_黃色A片三級三級三級无码_日本不卡高清视频v中文字幕_高清欧美视频一区二区
            1. <source id="nejs2"></source>
            2. <video id="nejs2"></video>
              <source id="nejs2"></source>