bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Android自定義View播放Gif動(dòng)畫(huà)的示例-創(chuàng)新互聯(lián)

前言

為株洲等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及株洲網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站建設(shè)、株洲網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

GIF是一種很常見(jiàn)的動(dòng)態(tài)圖片格式,在Android中它的使用場(chǎng)景非常多,大到啟動(dòng)頁(yè)動(dòng)畫(huà)、小到一個(gè)Loading展示,都可以用GIF動(dòng)畫(huà)來(lái)完成,使用也很方便,直接從美工那邊拿過(guò)來(lái)用就成。如果項(xiàng)目趕時(shí)間或者自定義原生動(dòng)畫(huà)太麻煩,GIF都是一個(gè)很好的選擇,相比于最新的WEBP格式的動(dòng)畫(huà),也有更好的兼容性(畢竟已經(jīng)出現(xiàn)很多年了)。

關(guān)于圖片加載我一直用的是Google推薦的 Glide ,圖片加載和緩存都做的很好,同樣也支持GIF動(dòng)畫(huà)。不過(guò)Glide默認(rèn)就是循環(huán)播放Gif,沒(méi)有開(kāi)放相關(guān)的接口來(lái)控制Gif。這就使的我們不能很好地控制Gif的播放,比如控制播放開(kāi)始時(shí)間、播放次數(shù),播放暫停、播放開(kāi)始、結(jié)束事件的監(jiān)聽(tīng),雖然用Glide可能做到(網(wǎng)上說(shuō)可以,但我沒(méi)找到方法),但操作也會(huì)很麻煩。

分析

除了第三方的庫(kù),Android自帶的類 android.graphics.Movie 也可以用來(lái)加載播放Gif動(dòng)畫(huà),而且實(shí)現(xiàn)起來(lái)很簡(jiǎn)單。

  • Movie decodeStream(InputStream is)
  • Movie decodeFile(String pathName)
  • Movie decodeByteArray(byte[] data, int offset,int length)

按來(lái)源分別可以從Gif文件的輸入流,文件路徑,字節(jié)數(shù)組中得到Movie的實(shí)列。然后我們可以通過(guò)操作Movie對(duì)象來(lái)操作Gif文件。

下面介紹下幾個(gè)方法:

int width() movie的寬,值等于gif圖片的寬,單位:px。

int height() movie的高,值等于gif圖片的高,單位:px。

int duration() movie播放一次的時(shí)長(zhǎng),也就是gif播放一次的時(shí)長(zhǎng),單位:毫秒。

boolean isOpaque() Gif圖片是否帶透明

boolean setTime(int relativeMilliseconds) 設(shè)置movie當(dāng)前處在什么時(shí)間,然后找到對(duì)應(yīng)時(shí)間的圖片幀,范圍0 ~ duration。返回是否成功找到那一幀。

draw(Canvas canvas, float , float y) 
draw(Canvas canvas, float x, float y, Paint paint) 

新聞名稱:Android自定義View播放Gif動(dòng)畫(huà)的示例-創(chuàng)新互聯(lián)
瀏覽路徑:http://vcdvsql.cn/article20/ppsco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google云服務(wù)器營(yíng)銷型網(wǎng)站建設(shè)建站公司微信小程序自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司