推 zxc190:用程式算要把scaleType 設成martrix才會理你 02/10 18:18
→ zxc190:更正 matrix 02/10 18:18
感覺程式計算應該是比較好的解吧?
應該可以適用在各種不同的螢幕大小和方向
我再試看看這個方法
感謝
→ xzeertacat:LinearLayout不要用match試過嗎 02/10 21:00
fill_parent
wrap_content
兩個都試過了,跟match_parent結果一樣。
推 baobomb:Bimap bi=BitmapFactory.createScaleBitmap(); 02/11 01:22
→ baobomb:抓取圖片來源時 用FileInput轉出Stream 再用Bitmap 02/11 01:23
→ baobomb:decodeStream抓出original圖片 最後用creatScaleBitmap 02/11 01:24
→ baobomb:不過要特別注意recycle()回收bitmap占用的RAM 不然會OOM 02/11 01:25
唔,baobomb大的意思應該是重新產生適合符合尺寸的圖,再重新顯示吧?
這個我也有想過,不過OOM的問題太困難了,所以我都是交給AQuery處理的Orz...
※ 編輯: tails32100 來自: 220.134.72.45 (02/11 10:52)
推 tac0wu:不用複製bitmap阿 Imageview source code沒幾行 看一下 02/12 21:47
→ tac0wu:scale情形他用matrix怎麼設 依樣畫葫蘆就行了 02/12 21:48
推 baobomb:喔喔抱歉我理解錯誤 我以為他說的從網路上載圖 02/18 13:16
→ baobomb:是要在程式中實作動態載圖 如果是把圖片放在 02/18 13:16
→ baobomb:res裡的話就不用bitmap了 02/18 13:17
推 baobomb:話說android的oom問題實在是很煩人 唉 02/18 13:19
推 baobomb:我記得scaletype裡有個設定可以讓圖片 02/18 13:21
→ 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)
推 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)