国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

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

2019-12-12 02:58:02
字體:
來源:轉載
供稿:網友

Android ImageView 不顯示JPEG圖片

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

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

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

如果還是不能正常顯示,建議在設置完VISIBLE后,調用如下方法:

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。

用途:有時我們在改變一個view 的內容之后可能會造成顯示出現錯誤,比如寫ListView的時候重用convertview中的某個TextView 可能因為前后填入的text長度不同而造成顯示出錯,此時我們可以在改變內容之后調用requestLayout方法加以解決。

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

Android的界面能用png最好是用png,因為32位的png顏色過渡平滑且支持透明。jpg是像素化壓縮過的圖片,質量已經下降了,再拿來做9patch的按鈕和平鋪拉伸的控件必然慘不忍睹,要盡量避免。其實在res下icon用的都是png格式,就是說Google推薦使用的是png格式的圖片。

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

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

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

Android Studio中如何引用圖片資源

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

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

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

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

android:src=@mipmap/pic 

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

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贺兰县| 东安县| 延寿县| 怀集县| 永济市| 长武县| 菏泽市| 花垣县| 囊谦县| 缙云县| 天全县| 乡城县| 霍邱县| 凭祥市| 金湖县| 莱西市| 青河县| 鸡东县| 松阳县| 巴中市| 鹤山市| 河北省| 清镇市| 黄冈市| 海林市| 瑞金市| 上思县| 桐柏县| 滦南县| 瑞金市| 枣庄市| 邛崃市| 西青区| 大方县| 陕西省| 塔城市| 股票| 平安县| 肥东县| 枝江市| 昔阳县|