欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android ImageView 不顯示JPEG圖片的問題解決

 更新時(shí)間:2017年05月02日 10:08:44   作者:二一點(diǎn)  
本篇文章主要介紹了Android ImageView 不顯示JPEG圖片及Android Studio中如何引用圖片資源的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧

Android ImageView 不顯示JPEG圖片

今天在寫一個(gè)小實(shí)例,ImageView在xml里面設(shè)置的是INVISIBLE,在代碼里需要設(shè)置成setVisibility(View.VISIBLE),但圖片沒有顯示出來(lái),換成PNG或其它的JPEG格式的圖片確可以正常的顯示。

原因:顯示的圖片大小為5.39K,圖片格式有損壞,所以不能正常顯示。

解決:換一張圖片,或重新生成JPEG圖片。

如果還是不能正常顯示,建議在設(shè)置完VISIBLE后,調(diào)用如下方法:

iv.setVisibility(View.VISIBLE); 
view.requestLayout(); 

Call this when something has changed which has invalidated the layout of this view. This will schedule a layout pass of the view tree.

我們可以理解為重新布局了一下view。

用途:有時(shí)我們?cè)诟淖円粋€(gè)view 的內(nèi)容之后可能會(huì)造成顯示出現(xiàn)錯(cuò)誤,比如寫ListView的時(shí)候重用convertview中的某個(gè)TextView 可能因?yàn)榍昂筇钊氲膖ext長(zhǎng)度不同而造成顯示出錯(cuò),此時(shí)我們可以在改變內(nèi)容之后調(diào)用requestLayout方法加以解決。

建議:png是一種無(wú)損格式,JPG是有損格式。JPG在處理顏色很多的圖片時(shí),根據(jù)壓縮率的不同,有時(shí)會(huì)去掉一些肉眼識(shí)別差距較小的中間顏色。但是PNG對(duì)于無(wú)損這個(gè)基本要求,會(huì)嚴(yán)格保留所有的色彩數(shù)。 所以。圖片尺寸大,或者色彩數(shù)量多特別是漸變色的多的時(shí)候,PNG的體積會(huì)明顯大于JPG。

Android的界面能用png最好是用png,因?yàn)?2位的png顏色過(guò)渡平滑且支持透明。jpg是像素化壓縮過(guò)的圖片,質(zhì)量已經(jīng)下降了,再拿來(lái)做9patch的按鈕和平鋪拉伸的控件必然慘不忍睹,要盡量避免。其實(shí)在res下icon用的都是png格式,就是說(shuō)Google推薦使用的是png格式的圖片。

對(duì)于顏色繁雜的,比如照片墻紙之類的圖片(有些應(yīng)用的啟動(dòng)畫面喜歡搞這種),那用jpg是最好不過(guò)了,這種圖片壓縮前壓縮后肉眼分辨幾乎不計(jì),如果保存成png體積將是jpg的幾倍甚至幾十倍,嚴(yán)重浪費(fèi)體積。

解釋:什么是9patch,Patch的中文意思是“片,塊”的意思,那這里按中文的意思來(lái)說(shuō)就是9片或9塊。因此可想而知這個(gè)圖片會(huì)被分為9片,如下圖所示:

9patch只解釋這么多,需要詳細(xì)了解的可以繼續(xù)深入研究。

Android Studio中如何引用圖片資源

在Eclipse中根據(jù)圖片的像素大小把.png或.jpg的圖片放在drawable文件夾下,如drawable-hdpi,drawable-ldpi,drawable-mdpi,drawable-xhdpi,drawable-xxhdpi。同一張圖片放在不同的drawable文件夾下,顯示的時(shí)候會(huì)有所不同。但是在xml中引用的時(shí)候是一樣的:android:src=@drawable/pic 或者android:background=@drawable/pic 。

但是到Android Studio中就不一樣了,發(fā)現(xiàn)沒有這么多的drawable目錄了,而只有一個(gè)drawable文件夾。取而代之的是出現(xiàn)了很多mipmap文件夾,如mipmap-hdpi,mipmap-mdpi,mipmap-xhdpi,mipmap-xxhdpi。如圖所示:

首先嘗試把圖片放在drawable中,然后在xml中使用android:src=@drawable/pic或者android:background=@drawable/pic。使用,發(fā)現(xiàn)沒有問題,完全可以顯示。但是為什么有這么多mipmap呢?

Google官方的解釋是性能優(yōu)化,占用內(nèi)存小等等,總之mipmap這個(gè)形式比drawable好。So,推薦我們?cè)贏ndroid Studio中使用mipmap。那好,我們把圖片放在mipmap文件夾下,那怎么在xml中使用呢?

android:src=@mipmap/pic 

非常類似圖片放在drawable中的引用方式,也是使用@來(lái)引用。所以這也是非常簡(jiǎn)單的,不同像素的mipmap文件夾圖片都是一樣的使用。但是注意:在AS中,同一張圖片放在drawable文件夾下和放在mipmap文件夾下顯示效果是不一樣的,在大小,縮放,像素上都可能有所差異。把Android Studio和Eclipse比較著學(xué)習(xí),他們既相似又有一定的區(qū)別。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • Android組件實(shí)現(xiàn)長(zhǎng)按彈出上下文菜單功能的方法

    Android組件實(shí)現(xiàn)長(zhǎng)按彈出上下文菜單功能的方法

    這篇文章主要介紹了Android組件實(shí)現(xiàn)長(zhǎng)按彈出上下文菜單功能的方法,結(jié)合實(shí)例形式分析了Android實(shí)現(xiàn)長(zhǎng)按彈出上下文菜單的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-07-07
  • Android開發(fā)登陸案例

    Android開發(fā)登陸案例

    這篇文章主要介紹了Android開發(fā)登陸案例的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • Android中使用am命令實(shí)現(xiàn)在命令行啟動(dòng)程序詳解

    Android中使用am命令實(shí)現(xiàn)在命令行啟動(dòng)程序詳解

    這篇文章主要介紹了Android中使用am命令實(shí)現(xiàn)在命令行啟動(dòng)程序詳解,本文詳細(xì)講解了am命令的語(yǔ)法,然后給出了啟動(dòng)內(nèi)置程序的操作實(shí)例,需要的朋友可以參考下
    2015-04-04
  • Android 中在有序廣播中添加自定義權(quán)限的實(shí)例

    Android 中在有序廣播中添加自定義權(quán)限的實(shí)例

    這篇文章主要介紹了Android 中在有序廣播中添加自定義權(quán)限的實(shí)例的相關(guān)資料,這里對(duì)有序廣播的用法進(jìn)行了詳細(xì)介紹并附有簡(jiǎn)單實(shí)例,需要的朋友可以參考下
    2017-07-07
  • Fresco加載手機(jī)圖片墻

    Fresco加載手機(jī)圖片墻

    這篇文章主要為大家詳細(xì)介紹了Fresco加載手機(jī)圖片墻,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 優(yōu)化和瘦身Android APK的六個(gè)小技巧

    優(yōu)化和瘦身Android APK的六個(gè)小技巧

    Android應(yīng)用的大小對(duì)用戶體驗(yàn)和應(yīng)用性能至關(guān)重要,大型APK文件會(huì)增加應(yīng)用的安裝時(shí)間,啟動(dòng)時(shí)間和頁(yè)面加載時(shí)間,降低了用戶體驗(yàn),因此,APK瘦身是Android開發(fā)中的重要任務(wù),在本文中,我們將分享6個(gè)小技巧,幫助你優(yōu)化和瘦身Android應(yīng)用,需要的朋友可以參考下
    2023-11-11
  • Android中init.rc文件的解析 分享

    Android中init.rc文件的解析 分享

    本文分析Android中如何解析init.rc文件,重點(diǎn)描述了on action內(nèi)的解析,并從解析的過(guò)程中總結(jié)出init.rc的語(yǔ)法規(guī)范。
    2013-06-06
  • android全局監(jiān)控click事件的四種方式(小結(jié))

    android全局監(jiān)控click事件的四種方式(小結(jié))

    本篇文章主要介紹了android全局監(jiān)控click事件的四種方式(小結(jié)),詳細(xì)介紹如何在全局上去監(jiān)聽 click 點(diǎn)擊事件,并做些通用處理或是攔截,有興趣的可以了解一下
    2017-08-08
  • Android使用RecyclerView實(shí)現(xiàn)投票系統(tǒng)

    Android使用RecyclerView實(shí)現(xiàn)投票系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Android使用RecyclerView實(shí)現(xiàn)投票系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android中使用Intent在Activity之間傳遞對(duì)象(使用Serializable或者Parcelable)的方法

    Android中使用Intent在Activity之間傳遞對(duì)象(使用Serializable或者Parcelable)的

    這篇文章主要介紹了 Android中使用Intent在Activity之間傳遞對(duì)象(使用Serializable或者Parcelable)的方法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01

最新評(píng)論