最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android設(shè)置改變透明度實(shí)例

 更新時(shí)間:2023年11月04日 10:20:05   投稿:yin  
在Android開(kāi)發(fā)中,透明度是很常見(jiàn)的一個(gè)屬性,是指控制一個(gè)視圖的不透明程度,取值范圍從0到255,通過(guò)設(shè)置透明度能夠?qū)崿F(xiàn)圖片、控件等UI元素的顯示效果的調(diào)整,Android透明度對(duì)照表是開(kāi)發(fā)過(guò)程中常用的工具之一,它能夠幫助開(kāi)發(fā)人員快速了解設(shè)置透明度的數(shù)值范圍

在Android開(kāi)發(fā)中,透明度是很常見(jiàn)的一個(gè)屬性,是指控制一個(gè)視圖的不透明程度,取值范圍從0到255,0表示完全透明,255表示完全不透明,通過(guò)設(shè)置透明度能夠?qū)崿F(xiàn)圖片、控件等UI元素的顯示效果的調(diào)整,Android透明度對(duì)照表是開(kāi)發(fā)過(guò)程中常用的工具之一,它能夠幫助開(kāi)發(fā)人員快速了解設(shè)置透明度的數(shù)值范圍。

如何設(shè)置透明度

在Android中,設(shè)置透明度有多種方法:

方法一:使用setAlpha()方法

view.setAlpha(0.5f);

使用setAlpha()方法可以直接設(shè)置透明度,參數(shù)范圍從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);
}

通過(guò)設(shè)置Activity的Window屬性,可以實(shí)現(xiàn)調(diào)整整個(gè)Activity的透明度。

方法三:使用xml文件設(shè)置透明度

android:alpha="0.5"

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

透明度表的使用

在日常開(kāi)發(fā)中,經(jīng)常需要手動(dòng)計(jì)算透明度數(shù)值,這是件費(fèi)時(shí)費(fèi)力的事情。透明度表的出現(xiàn),可以方便快速的查找對(duì)應(yīng)的透明度數(shù)值。

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

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個(gè)數(shù)值......
        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);
    }
}

使用透明度表可以非常方便的獲取對(duì)應(yīng)的透明度數(shù)值。只需要傳入透明度的序號(hào),就可以返回對(duì)應(yīng)的透明度數(shù)值。

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

透明度數(shù)值

透明度數(shù)值是指表示不透明度的一個(gè)值,取值范圍為0~255,其中0代表完全透明,255代表完全不透明。在設(shè)置透明度時(shí),我們會(huì)用到一個(gè)涉及到透明度數(shù)值的API。

//設(shè)置視圖的透明度,取值范圍0~1
view.setAlpha(float alpha); 

//設(shè)置視圖的透明度,取值范圍0~255
view.getBackground().setAlpha(int alpha);

在上面的代碼示例中,setAlpha()方法的參數(shù)為float類(lèi)型,取值范圍是0~1,表示視圖的透明度。而getBackground().setAlpha()方法的參數(shù)為int類(lèi)型,取值范圍是0~255,表示背景的透明度。

圖片透明度

對(duì)于Android應(yīng)用中的圖片,我們也可以設(shè)置它們的透明度,這可以通過(guò)在代碼中設(shè)置透明度來(lái)實(shí)現(xiàn),示例如下:

//獲取原圖
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.image);

//根據(jù)原圖創(chuàng)建一個(gè)新圖,alpha參數(shù)為透明度
Bitmap newBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(newBitmap);
Paint paint = new Paint();
paint.setAlpha(alpha);
canvas.drawBitmap(bitmap, 0, 0, paint);

在上面的代碼示例中,我們通過(guò)調(diào)用Paint類(lèi)的setAlpha()方法來(lái)設(shè)置圖片的透明度,alpha的取值范圍是0~255。

文本透明度

在Android應(yīng)用中,文本部分的透明度也是可以設(shè)置的。我們可以通過(guò)設(shè)置TextView或EditText的textColor屬性來(lái)實(shí)現(xiàn),示例如下:

//設(shè)置TextView的文本透明度,取值范圍0~255
text.setTextColor(Color.argb(alpha, 255, 255, 255));

//設(shè)置EditText的文本透明度,取值范圍0~255
editText.setTextColor(Color.argb(alpha, 255, 255, 255));

在上面的代碼示例中,我們通過(guò)調(diào)用argb()方法來(lái)設(shè)置文本的透明度,其中alpha的取值范圍是0~255,后面三個(gè)參數(shù)分別代表顏色的紅色、綠色和藍(lán)色值,這三個(gè)參數(shù)的取值范圍也是0~255。

背景透明度

對(duì)于應(yīng)用中的背景,我們也可以設(shè)置背景的透明度。這可以通過(guò)在布局文件中的根布局中添加透明度屬性來(lái)實(shí)現(xiàn),代碼示例如下:

//在根布局中添加透明度屬性
android:alpha="0.5"

在上面的代碼示例中,我們將根布局的透明度設(shè)置為0.5,這樣就可以實(shí)現(xiàn)背景的透明效果。

動(dòng)態(tài)改變透明度

在Android開(kāi)發(fā)中,我們經(jīng)常需要在一定條件下動(dòng)態(tài)地改變視圖的透明度,這可以通過(guò)代碼來(lái)實(shí)現(xiàn),示例如下:

//獲得視圖的透明度值
float alpha = view.getAlpha();

//改變視圖的透明度值
view.setAlpha(alpha - 0.1f);

在上面的代碼示例中,我們通過(guò)調(diào)用getAlpha()方法獲取視圖的透明度值,并通過(guò)setAlpha()方法改變視圖的透明度值,從而實(shí)現(xiàn)動(dòng)態(tài)改變透明度的效果。

總結(jié)

到此這篇關(guān)于Android設(shè)置改變透明度實(shí)例的文章就介紹到這了,更多相關(guān)Android設(shè)置透明度內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

大渡口区| 会同县| 冷水江市| 顺昌县| 辽阳市| 瓦房店市| 乌恰县| 江达县| 白玉县| 冷水江市| 六枝特区| 南陵县| 鄂托克旗| 福泉市| 白城市| 紫云| 长春市| 卢氏县| 时尚| 翁牛特旗| 乐至县| 尼勒克县| 江山市| 东源县| 芦山县| 和田县| 昌宁县| 探索| 吉木萨尔县| 北安市| 章丘市| 信丰县| 罗田县| 寿阳县| 科尔| 皋兰县| 鱼台县| 潮州市| 社会| 清水河县| 鄂托克旗|