[問題] 關於BitmapFactory.Options的設定

看板AndroidDev作者 (哈士奇)時間12年前 (2013/03/19 18:45), 編輯推噓2(2013)
留言15則, 4人參與, 最新討論串1/2 (看更多)
因為現在高解析的關係,有些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

03/19 19:37, , 1F
density?
03/19 19:37, 1F

03/19 20:49, , 2F
不考慮用drawable-xhdpi搞定?
03/19 20:49, 2F

03/20 00:48, , 3F
那是因為速度上的考量,Android會針對device去drawable-XXdpi
03/20 00:48, 3F

03/20 00:48, , 4F
中取圖。
03/20 00:48, 4F

03/20 00:49, , 5F
照我理解你們問題,最簡單的方法:drawable-XXdpi隨意挑一個
03/20 00:49, 5F

03/20 00:51, , 6F
資料夾,那張圖只放在那裏就好了(最好是大一點,因為避免失真
03/20 00:51, 6F

03/20 00:52, , 7F
),然後再去調整View的寬高,它會自動AutoSize。
03/20 00:52, 7F

03/20 00:53, , 8F
這並不是最好的方法,因為畢竟你放的是大圖,只是顯示出來沒
03/20 00:53, 8F

03/20 00:54, , 9F
那麼大而已,所以記憶體會吃的比較多。這樣你知道分
03/20 00:54, 9F

03/20 00:54, , 10F
drawable-XXdpi的用意了嗎?
03/20 00:54, 10F

03/20 09:54, , 11F
不是大一點就好喔,他是有一定比例的
03/20 09:54, 11F

03/20 09:55, , 12F
ldpi=0.75x mdpi=1x hdpi=1.5x xhdpi=2x x=倍
03/20 09:55, 12F

03/20 09:56, , 13F
我承認我之前的東西有寫下集,不過我富奸了 A_A
03/20 09:56, 13F

03/20 09:57, , 14F
原po這種作法比較適合在Marker是網路下載的圖片時用
03/20 09:57, 14F

03/20 11:20, , 15F
瞭解了!感謝!!!
03/20 11:20, 15F
文章代碼(AID): #1HI47GIW (AndroidDev)
文章代碼(AID): #1HI47GIW (AndroidDev)