Я использую PhotoView Пикассо в моем приложении для Android.Я хочу переключить два изображения, нажав кнопку, сохраняя масштаб и координаты XY.Я могу сохранить масштаб, но трудно сохранить координаты XY, потому что два изображения имеют разное разрешение, и я должен сохранить относительные координаты XY ПОСЛЕ масштаб.Когда я переключаюсь на новое изображение, если я не сохраняю координаты xy, увеличенное изображение всегда находится в центре.Ниже мой текущий код, который реализует только сохранение масштаба.
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
// ... some basic stuffs here
mRequestCreator1 = Picasso.get().load(mImageUri1);
mRequestCreator2 = Picasso.get().load(mImageUri2);
mRequestCreator1.into(mPhotoView);
mBtnSwitch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final float prevScale = mPhotoView.getScale();
// MUST use the callback because of timing issue.
Callback callback = new Callback() {
@Override
public void onSuccess() { mPhotoView.setScale(prevScale); }
@Override
public void onError(Exception e) { e.printStackTrace(); }
};
if(sPrevIsOriginal) {
mRequestCreator2.into(mPhotoView, callback);
} else {
mRequestCreator1.into(mPhotoView, callback);
}
sPrevIsOriginal = !sPrevIsOriginal;
}
});
}