成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Drawable 使用詳解

JinB / 1725人閱讀

摘要:啟用或停用位圖過濾。當(dāng)位圖收縮或拉伸以使其外觀平滑時(shí)使用過濾。在每個(gè)狀態(tài)變更期間,將從上到下遍歷狀態(tài)列表,并使用第一個(gè)與當(dāng)前狀態(tài)匹配的項(xiàng)目此選擇并非基于最佳匹配,而是選擇符合狀態(tài)最低條件的第一個(gè)項(xiàng)目。每個(gè)可繪制對(duì)象由單一元素內(nèi)的元素表示。

極力推薦文章:歡迎收藏
Android 干貨分享

閱讀五分鐘,每日十點(diǎn),和您一起終身學(xué)習(xí),這里是程序員Android

DrawableAndroid 中圖像顯示的常用方法。
概念:Drawable 是指可在屏幕上繪制的圖形,已經(jīng)通過getDrawable(int)等API檢索或者應(yīng)用到具有 android:drawableandroid:icon 等屬性的其他 XML 資源的圖形。

本篇文章主要介紹 Android 開發(fā)中的部分知識(shí)點(diǎn),通過閱讀本篇文章,您將收獲以下內(nèi)容:

Drawable 分類

Bitmap 位圖 BitmapDrawable

可拉伸圖(*.9.png) NinePatchDrawable。

圖層 LayerDrawable

不同狀態(tài)圖(選擇器) StateListDrawable

級(jí)別列表 LevelListDrawable

轉(zhuǎn)換圖像 TransitionDrawable

插入可繪制對(duì)象

剪裁可繪制對(duì)象 ClipDrawable

縮放可繪制對(duì)象 ScaleDrawable

形狀可繪制對(duì)象 ShapeDrawable

Drawable與 Bitmap 常用方法總結(jié)

1.Drawable 簡介 繼承關(guān)系如下:
[java.lang.Object]
????
     android.graphics.drawable.Drawable
Drawable 分類如下:

Bitmap 位圖 BitmapDrawable

可拉伸圖(*.9.png) NinePatchDrawable。

圖層 LayerDrawable

不同狀態(tài)圖(選擇器) StateListDrawable

級(jí)別列表 LevelListDrawable

轉(zhuǎn)換圖像 TransitionDrawable

插入可繪制對(duì)象

剪裁可繪制對(duì)象 ClipDrawable

縮放可繪制對(duì)象 ScaleDrawable

形狀可繪制對(duì)象 ShapeDrawable

資源引用:

Java 中:
R.drawable.filename

XML 中:
@[package:]drawable/filename

1. Bitmap 位圖 BitmapDrawable

位圖圖像。Android 支持以下三種格式的位圖文件:.png(首選)、.jpg(可接受)、.gif(不建議)。這些文件保存到 res/drawable/ 目錄中

在構(gòu)建過程中,可通過 aapt 工具自動(dòng)優(yōu)化位圖文件,對(duì)圖像進(jìn)行無損壓縮。例如,不需要超過 256 色的真彩色 PNG 可通過調(diào)色板轉(zhuǎn)換為 8 PNG。這樣產(chǎn)生的圖像質(zhì)量相同,但所需內(nèi)存更少。因此請注意,此目錄中的圖像二進(jìn)制文件在構(gòu)建時(shí)可能會(huì)發(fā)生變化。如果您計(jì)劃將圖像解讀為比特流以將其轉(zhuǎn)換為位圖,請改為將圖像放在 res/raw/ 文件夾中,在那里它們不會(huì)進(jìn)行優(yōu)化

使用方法如下:

1.常規(guī)位圖

XML 布局中使用方法

        

Java 代碼中使用方法

getResources().getDrawable(R.drawable.xml_bitmap)
2.XML 位圖

在XML中創(chuàng)建位圖資源文件

注意一下屬性使用方法:

antialias

     啟用、停用抗鋸齒  

dither

    當(dāng)位圖的像素配置與屏幕不同時(shí)(例如:`RGB 8888 `位圖和 `RGB 565 `屏幕),啟用或停用位圖抖動(dòng)。

filter
啟用或停用位圖過濾。當(dāng)位圖收縮或拉伸以使其外觀平滑時(shí)使用過濾。

mipmap

  啟用或停用` mipmap `提示

5.tileMode

    定義平鋪模式。當(dāng)平鋪模式啟用時(shí),位圖會(huì)重復(fù)。重力在平鋪模式啟用時(shí)將被忽略

xml_bitmap 位圖實(shí)現(xiàn)




    

引用XML位圖資源方法

        

java 代碼實(shí)現(xiàn)方法

2. 可拉伸圖(*.9.png) NinePatchDrawable。

NinePatch 是一種 PNG 圖像,在其中可定義當(dāng)視圖中的內(nèi)容超出正常圖像邊界時(shí) Android 縮放的可拉伸區(qū)域。此類圖像通常指定為至少有一個(gè)尺寸設(shè)置為 "wrap_content" 的視圖的背景,而且當(dāng)視圖擴(kuò)展以適應(yīng)內(nèi)容時(shí),九宮格圖像也會(huì)擴(kuò)展以匹配視圖的大小。Android 的標(biāo)準(zhǔn) Button 小部件使用的背景就是典型的九宮格圖像,其必須拉伸以適應(yīng)按鈕內(nèi)的文本(或圖像)。

常規(guī)使用方法同其他圖片引用方式

XML .9.png 圖片同Bitmap XML的使用方式



3. 圖層 LayerDrawable

LayerDrawable 是管理其他可繪制對(duì)象陣列的可繪制對(duì)象。列表中的每個(gè)可繪制對(duì)象按照列表的順序繪制,列表中的最后一個(gè)可繪制對(duì)象繪于頂部。每個(gè)可繪制對(duì)象由單一 元素內(nèi)的 元素表示。




    
    
    
    
    
    

4. 不同狀態(tài)圖(選擇器) StateListDrawable

StateListDrawable 是在 XML 中定義的可繪制對(duì)象,它根據(jù)對(duì)象的狀態(tài),使用多個(gè)不同的圖像來表示同一個(gè)圖形。例如,Button 小部件可以是多種不同狀態(tài)(按下、聚焦或這兩種狀態(tài)都不是)中的其中一種,而且可以利用狀態(tài)列表可繪制對(duì)象為每種狀態(tài)提供不同的背景圖片。

您可以在 XML 文件中描述狀態(tài)列表。每個(gè)圖形由單一 元素內(nèi)的 元素表示。每個(gè) 均使用各種屬性來描述應(yīng)用作可繪制對(duì)象的圖形的狀態(tài)。

在每個(gè)狀態(tài)變更期間,將從上到下遍歷狀態(tài)列表,并使用第一個(gè)與當(dāng)前狀態(tài)匹配的項(xiàng)目 —此選擇并非基于“最佳匹配”,而是選擇符合狀態(tài)最低條件的第一個(gè)項(xiàng)目。
此方法非常常用,比如狀態(tài)選擇器

常規(guī)使用方法同其他圖片引用方式

選擇器 XML的使用方式

5. 級(jí)別列表 LevelListDrawable

管理大量備選可繪制對(duì)象的可繪制對(duì)象,每個(gè)可繪制對(duì)象都分配有最大的備選數(shù)量。使用 setLevel() 設(shè)置可繪制對(duì)象的級(jí)別值會(huì)加載級(jí)別列表中 android:maxLevel 值大于或等于傳遞到方法的值的可繪制對(duì)象資源。
資源引用:
在 Java 中:
R.drawable.filename
在 XML 中:
@[package:]drawable/filename




    

可通過 setLevel() setImageLevel() 更改級(jí)別。

6. 轉(zhuǎn)換圖像 TransitionDrawable

TransitionDrawable 是可在兩種可繪制對(duì)象資源之間交錯(cuò)淡出的可繪制對(duì)象。

每個(gè)可繪制對(duì)象由單一 元素內(nèi)的 元素表示。不支持超過兩個(gè)項(xiàng)目。要向前轉(zhuǎn)換,請調(diào)用 startTransition()。要向后轉(zhuǎn)換,則調(diào)用 reverseTransition()。

xml 布局聲明



    
    

java 代碼中使用

7. 插入可繪制對(duì)象

XML 文件中定義的以指定距離插入其他可繪制對(duì)象的可繪制對(duì)象。當(dāng)視圖需要小于視圖實(shí)際邊界的背景時(shí),此類可繪制對(duì)象很有用。





8. 剪裁可繪制對(duì)象 ClipDrawable

XML 文件中定義的對(duì)其他可繪制對(duì)象進(jìn)行裁剪(根據(jù)其當(dāng)前級(jí)別)的可繪制對(duì)象。您可以根據(jù)級(jí)別以及用于控制其在整個(gè)容器中位置的重力,來控制子可繪制對(duì)象的裁剪寬度和高度。通常用于實(shí)現(xiàn)進(jìn)度欄之類的項(xiàng)目。

xml 初始化剪裁樣式




java 代碼中使用

9. 縮放可繪制對(duì)象 ScaleDrawable

XML 文件中定義的更改其他可繪制對(duì)象大小




10. 形狀可繪制對(duì)象 ShapeDrawable

XML 中定義的一般形狀。

繪制直線



    "
    
    
    
    

2.繪制圓角矩形




    
    
    
    

12. Drawable與 Bitmap 常用方法總結(jié)

由于涉及內(nèi)容比較多,已經(jīng)另起文章講述。

Drawable與 Bitmap 常用方法總結(jié)

至此,本篇已結(jié)束,如有不對(duì)的地方,歡迎您的建議與指正。同時(shí)期待您的關(guān)注,感謝您的閱讀,謝謝!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/75827.html

相關(guān)文章

  • ImageView 使用詳解

    極力推薦文章:歡迎收藏Android 干貨分享 showImg(https://segmentfault.com/img/remote/1460000019975020); 閱讀五分鐘,每日十點(diǎn),和您一起終身學(xué)習(xí),這里是程序員Android 本篇文章主要介紹 Android 開發(fā)中的部分知識(shí)點(diǎn),通過閱讀本篇文章,您將收獲以下內(nèi)容: 一、ImageView 的繼承關(guān)系二、ImageView 常用方...

    shery 評(píng)論0 收藏0
  • GridView 使用詳解

    摘要:簡介繼承關(guān)系如下主要使用方法主要通過使用自定義來適配數(shù)據(jù),進(jìn)而顯示到中。如果不是太明白,可以查看上篇文章使用詳解至此,本篇已結(jié)束,如有不對(duì)的地方,歡迎您的建議與指正。同時(shí)期待您的關(guān)注,感謝您的閱讀,謝謝 極力推薦文章:歡迎收藏Android 干貨分享 showImg(https://segmentfault.com/img/remote/1460000019975020); 閱讀五分...

    dayday_up 評(píng)論0 收藏0
  • ListView 使用詳解

    showImg(https://segmentfault.com/img/remote/1460000019975019?w=157&h=54); 極力推薦文章:歡迎收藏Android 干貨分享 showImg(https://segmentfault.com/img/remote/1460000019975020); 閱讀五分鐘,每日十點(diǎn),和您一起終身學(xué)習(xí),這里是程序員Android 本篇文章...

    clasnake 評(píng)論0 收藏0
  • Drawable與 Bitmap 轉(zhuǎn)換總結(jié)

    摘要:進(jìn)行縮放然后比對(duì)進(jìn)行縮放調(diào)用中轉(zhuǎn)換成創(chuàng)建操作圖片用的對(duì)象計(jì)算縮放比例設(shè)置縮放比例建立新的,其內(nèi)容是對(duì)原的縮放后的圖至此,本篇已結(jié)束,如有不對(duì)的地方,歡迎您的建議與指正。同時(shí)期待您的關(guān)注,感謝您的閱讀,謝謝 showImg(https://segmentfault.com/img/remote/1460000019975019?w=157&h=54); 極力推薦文章:歡迎收藏Androi...

    snifes 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<