AndroidDev 板


LINE

已有爬文+Google過 現在遇到的問題是,ImageView不知道該怎麼依長寬比做自動放大。 反之自動縮小是可以的。 我是在ListView裡用BaseAdapter去使用自定義的layout xml檔內容如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ImageView android:id="@+id/pic" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_weight="5" android:adjustViewBounds="true" android:contentDescription="@null" android:padding="10dp" android:scaleType="fitCenter" /> <TextView android:id="@+id/name" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_weight="1" android:gravity="left|center_vertical" android:padding="3dp" /> </LinearLayout> 該ImageView只要遇到比較大的圖,都會自動縮小 可是遇到比較小的圖,並不會自動放大 我是想要寬度要match_parent,並保持長寬比讓高度可以自動調整大小; 過大沒關係,上層讓ListView去滑就行了。 有查過ImageView有兩個屬性跟放大縮小有關的。 一個是adjustViewBounds,保持長寬比。 http://blog.csdn.net/ada168855/article/details/8645212 一個是scaleType,試過用CENTER_CROP會放大,不過會被裁掉,其他的設定了都不會變。 http://bluegray-javalearning.blogspot.tw/2011/06/imageviewscaletype.html 是有比較麻煩的方法:直接用XML設定固定高度,它真的就會變大了 有想到可以直接用程式去計算,可是試過它都不理我 :( 還是希望能直接從XML設定自動計算。 另外,圖的來源是從網路上載下來的,所以我不能控制原始圖檔的大小。 跪求神人解,感激不盡 <(_ _)> --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.72.45
1F:推 zxc190:用程式算要把scaleType 設成martrix才會理你 02/10 18:18
2F:→ zxc190:更正 matrix 02/10 18:18
感覺程式計算應該是比較好的解吧? 應該可以適用在各種不同的螢幕大小和方向 我再試看看這個方法 感謝
3F:→ xzeertacat:LinearLayout不要用match試過嗎 02/10 21:00
fill_parent wrap_content 兩個都試過了,跟match_parent結果一樣。
4F:推 baobomb:Bimap bi=BitmapFactory.createScaleBitmap(); 02/11 01:22
5F:→ baobomb:抓取圖片來源時 用FileInput轉出Stream 再用Bitmap 02/11 01:23
6F:→ baobomb:decodeStream抓出original圖片 最後用creatScaleBitmap 02/11 01:24
7F:→ baobomb:不過要特別注意recycle()回收bitmap占用的RAM 不然會OOM 02/11 01:25
唔,baobomb大的意思應該是重新產生適合符合尺寸的圖,再重新顯示吧? 這個我也有想過,不過OOM的問題太困難了,所以我都是交給AQuery處理的Orz... ※ 編輯: tails32100 來自: 220.134.72.45 (02/11 10:52)
8F:推 tac0wu:不用複製bitmap阿 Imageview source code沒幾行 看一下 02/12 21:47
9F:→ tac0wu:scale情形他用matrix怎麼設 依樣畫葫蘆就行了 02/12 21:48
10F:推 baobomb:喔喔抱歉我理解錯誤 我以為他說的從網路上載圖 02/18 13:16
11F:→ baobomb:是要在程式中實作動態載圖 如果是把圖片放在 02/18 13:16
12F:→ baobomb:res裡的話就不用bitmap了 02/18 13:17
13F:推 baobomb:話說android的oom問題實在是很煩人 唉 02/18 13:19
14F:推 baobomb:我記得scaletype裡有個設定可以讓圖片 02/18 13:21
15F:→ baobomb:大於或等於妳所設定的最小圖片寬高 可以試試看 02/18 13:21
centerCrop,但是圖片會被切掉Orz 現在覺得ListView的情況還好,配合螢幕寬去設value/dimens.xml還能看 今天發現要是ViewPager+ScrollView 配上比螢幕高的圖就GG了 因為高是未知數,調固定寬又沒用.... 目前還在找解.... ※ 編輯: tails32100 來自: 220.134.72.45 (02/19 09:45) 目前有想到一個偷吃步的解法: 直接用WebView就可以了... HTML碼如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width;initial-scale=1.0; maximum-scale=3.0; user-scalable=1;"> <style type="text/css"> html,body,img { margin: 0px; padding: 0px; width: 100%; } body { padding-top:20px; } </style> </head> <body> <img src="file:///sdcard/file.png"/> </body> </html> 原本一直讀不到本機的檔案,後來發現是這個設定沒加... WebSettings websettings = webView.getSettings(); websettings.setAllowFileAccess(true); ※ 編輯: tails32100 來自: 59.126.68.4 (02/20 02:05)
16F:推 baobomb:scaletype:centerInside試試 02/21 22:14
有試過了,謝謝你的建議 :) 我後來有想過 會不會是因為圖片是動態載入才會有這樣的問題 因為別人的文章就很正常... http://blog.csdn.net/xilibi2003/article/details/6628668 等等來做實驗Orz... ※ 編輯: tails32100 來自: 59.126.68.4 (02/22 21:25) 後來試到一半想到,別人的文章是已經固定住長寬了 就跟我設固定高的意思是一樣了.... 有去解出你管的原始碼,也是用固定高解決。 ※ 編輯: tails32100 來自: 59.126.68.4 (02/22 22:51)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP