作者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
1F:→ KeySabre:density? 03/19 19:37
2F:推 lovelycateye:不考虑用drawable-xhdpi搞定? 03/19 20:49
3F:→ Jyie:那是因为速度上的考量,Android会针对device去drawable-XXdpi 03/20 00:48
4F:→ Jyie:中取图。 03/20 00:48
5F:→ Jyie:照我理解你们问题,最简单的方法:drawable-XXdpi随意挑一个 03/20 00:49
6F:→ Jyie:资料夹,那张图只放在那里就好了(最好是大一点,因为避免失真 03/20 00:51
7F:→ Jyie:),然後再去调整View的宽高,它会自动AutoSize。 03/20 00:52
8F:→ Jyie:这并不是最好的方法,因为毕竟你放的是大图,只是显示出来没 03/20 00:53
9F:→ Jyie:那麽大而已,所以记忆体会吃的比较多。这样你知道分 03/20 00:54
10F:→ Jyie:drawable-XXdpi的用意了吗? 03/20 00:54
11F:推 lovelycateye:不是大一点就好喔,他是有一定比例的 03/20 09:54
12F:→ lovelycateye:ldpi=0.75x mdpi=1x hdpi=1.5x xhdpi=2x x=倍 03/20 09:55
13F:→ lovelycateye:我承认我之前的东西有写下集,不过我富奸了 A_A 03/20 09:56
14F:→ lovelycateye:原po这种作法比较适合在Marker是网路下载的图片时用 03/20 09:57
15F:→ kaito12:了解了!感谢!!! 03/20 11:20