У меня есть приложение, которое работает с SDK Google и API карты google.android - изображение имеет разные размеры на разных телефонах
На HomeActivity
, я получаю изображение профиля пользователя и рисую его на карте Google в качестве маркера.
public void loadProfilePicture(String picUrl, final Location location) {
Picasso.with(getActivity()).load(picUrl).into(new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
drawCanvas(location, bitmap);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
});
}
private void drawCanvas(Location location, Bitmap bitmap) {
photoMarker = getMap().addMarker(new MarkerOptions().position(new LatLng(location.getLatitude(), location.getLongitude()))
.icon(BitmapDescriptorFactory.fromBitmap(bitmap))
.anchor(0.5f, 1));
}
Моя проблема - при запуске приложения на различных устройствах (OnePlusOne и Samsung GT-18190, например), он рисует образ больше на Самсунга GT- 18190 устройство (что странно, меньше).
Я проверил picUrl
в методе loadProfilePicture
, и оба они выглядят одинаково на хроме, но на разных устройствах разного размера.
что я делаю неправильно?
Я вижу, спасибо за ваш ответ. Как я могу сделать метод общим для всех устройств? что означает, что метод будет рисовать изображение одинакового размера на всех телефонах? –
Обновленный ответ с примером того, как вы можете это сделать. – Joopkins
большое спасибо! прекрасно работает –