我正在使用的图像(用于地图图钉)存在一个长期存在的问题,并且随着分辨率的提高,它会变得越来越糟。如果我使用一个图像,只需将它放在可绘制目录中并指定该图像就可以了。可以找到不同尺寸和分辨率的作品。但是,我正在动态地从数据库中提取图像名称。因此,将图像放在资产目录中可以正常工作,但是对于所有分辨率来说,它是唯一的一张图像。现在不好,因为它们现在在高端手机上太小了。
所以我的目标是从数据库中获取图像名称,然后能够使用可绘制目录并具有不同的大小。这似乎是可能的,但我尝试的一切都失败了。
这可以从资源目录中指定一个图像:
public void run(){
if (!(llat == 0) && !(llon == 0)) {
if (ests == null || ests.size() == 0
|| poisPinpoints.size() == 0) {
ests = DBManager.getEstablishments();
for (Establishment est : ests) {
try {
est_pin_bmp = BitmapFactory.decodeResource(getResources(),R.drawable.mil_pushpin);
poisPinpoints.put(
est.getPoiType().getPushpin(), est_pin_bmp);
} catch (Exception e) {
e.printStackTrace();
}
}
}
当我从数据库中提取多个图像时使用此代码......但它只是资产目录中的一种大小:
public void run(){
if (!(llat == 0) && !(llon == 0)) {
if (ests == null || ests.size() == 0
|| poisPinpoints.size() == 0) {
ests = DBManager.getEstablishments();
for (Establishment est : ests) {
try {
Bitmap bm = BitmapFactory
.decodeStream(PlayPlaces.this
.getAssets().open(
est.getPoiType()
.getPushpin()));
poisPinpoints.put(
est.getPoiType().getPushpin(), bm);
} catch (Exception e) {
e.printStackTrace();
}
}
}