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

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

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

在Android開發(fā)中,透明度是很常見的一個(gè)屬性,是指控制一個(gè)視圖的不透明程度,取值范圍從0到255,0表示完全透明,255表示完全不透明,通過設(shè)置透明度能夠?qū)崿F(xiàn)圖片、控件等UI元素的顯示效果的調(diào)整,Android透明度對(duì)照表是開發(fā)過程中常用的工具之一,它能夠幫助開發(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);
}

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

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

android:alpha="0.5"

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

透明度表的使用

在日常開發(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類型,取值范圍是0~1,表示視圖的透明度。而getBackground().setAlpha()方法的參數(shù)為int類型,取值范圍是0~255,表示背景的透明度。

圖片透明度

對(duì)于Android應(yīng)用中的圖片,我們也可以設(shè)置它們的透明度,這可以通過在代碼中設(shè)置透明度來實(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);

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

文本透明度

在Android應(yīng)用中,文本部分的透明度也是可以設(shè)置的。我們可以通過設(shè)置TextView或EditText的textColor屬性來實(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));

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

背景透明度

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

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

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

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

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

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

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

在上面的代碼示例中,我們通過調(diào)用getAlpha()方法獲取視圖的透明度值,并通過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)論

宝坻区| 三原县| 东乡| 封开县| 韶山市| 玛纳斯县| 开原市| 阳东县| 宽城| 米泉市| 娄底市| 通许县| 建德市| 辽源市| 耒阳市| 建水县| 保德县| 淮南市| 璧山县| 铜陵市| 南京市| 横山县| 宜丰县| 东乡| 西畴县| 安吉县| 新邵县| 蓬莱市| 波密县| 淳安县| 牟定县| 南京市| 曲水县| 会泽县| 晋城| 伽师县| 山阳县| 建阳市| 宁河县| 石泉县| 通州市|