作者kaito12 (哈士奇)
看板AndroidDev
標題[問題] 關於BitmapFactory.Options的設定
時間Tue Mar 19 18:45:34 2013
因為現在高解析的關係,有些UI變得太小不好按 (ex:地圖上的錨點)
同樣4吋的螢幕上,解析度兩倍,按鈕就變成一半大小
請問如果在製造Bitmap的時候,希望圖片大小依照螢幕大小作調整
而不希望用固定的pixel,應該怎麼設定BitmapFactory.Options呢?
我原本寫法如下
----------------------------------------------------------------
BitmapFactory.Options bitmapOptions = new BitmapFactory.Options();
bitmapOptions.inSampleSize = 1;
bitmapOptions.inScaled = false;
Bitmap marker = BitmapFactory.decodeResource(getResources(),
R.drawable.pointMarker, bitmapOptions);
----------------------------------------------------------------
我的目的是希望圖片(pointMarker)不管螢幕解析度都可以保持一樣大小
請問我BitmapFactory.Options是不是有什麼屬性也要一併設置呢?
原本我想到的解法是bitmap好像是pixel為單位,就偵測裝置的螢幕大小和解析度
一定的比例區間就用createScaledBitmap重新resize成對應大小的圖檔
不過這樣好像太冗了,應該有更好的解法 orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.165.166.131
→ KeySabre:density? 03/19 19:37
推 lovelycateye:不考慮用drawable-xhdpi搞定? 03/19 20:49
→ Jyie:那是因為速度上的考量,Android會針對device去drawable-XXdpi 03/20 00:48
→ Jyie:中取圖。 03/20 00:48
→ Jyie:照我理解你們問題,最簡單的方法:drawable-XXdpi隨意挑一個 03/20 00:49
→ Jyie:資料夾,那張圖只放在那裏就好了(最好是大一點,因為避免失真 03/20 00:51
→ Jyie:),然後再去調整View的寬高,它會自動AutoSize。 03/20 00:52
→ Jyie:這並不是最好的方法,因為畢竟你放的是大圖,只是顯示出來沒 03/20 00:53
→ Jyie:那麼大而已,所以記憶體會吃的比較多。這樣你知道分 03/20 00:54
→ Jyie:drawable-XXdpi的用意了嗎? 03/20 00:54
推 lovelycateye:不是大一點就好喔,他是有一定比例的 03/20 09:54
→ lovelycateye:ldpi=0.75x mdpi=1x hdpi=1.5x xhdpi=2x x=倍 03/20 09:55
→ lovelycateye:我承認我之前的東西有寫下集,不過我富奸了 A_A 03/20 09:56
→ lovelycateye:原po這種作法比較適合在Marker是網路下載的圖片時用 03/20 09:57
→ kaito12:瞭解了!感謝!!! 03/20 11:20