Android PhotoView Keep Zoom после изменения ориентации
Я используюPhotoView класс Криса Бэйнса, чтобы иметь возможность увеличить изображение и увидеть его, но я хочу сделать так, чтобы при изменении ориентации фотография все еще увеличивалась после изменения.
Я понимаю основы того, как это сделать, что при обнаружении изменения ориентации будет вызываться onSaveInstanceState, поэтому я пытаюсь сохранить экземпляр там, а затем вернуть его в PhotoView при вызове onCreate.
public class MainActivity extends ActionBarActivity
{
PhotoView mPhotoView;
@Override
protected void onCreate( Bundle aSavedInstanceState )
{
super.onCreate( aSavedInstanceState );
mPhotoView = new PhotoView(this);
mPhotoView.setMaximumScale( 12 );
setContentView( mPhotoView );
mPhotoView.setImageResource( R.drawable.vm_app_icon);
if (aSavedInstanceState != null)
{
RectF theRect = aSavedInstanceState.getParcelable( "Rect" );
if ( theRect != null)
{
Matrix theMatrix = new Matrix();
theMatrix.setScale( theRect.bottom, theRect.left, theRect.right, theRect.top );
mPhotoView.setDisplayMatrix( theMatrix );
}
}
}
@Override
protected void onSaveInstanceState( final Bundle outState )
{
super.onSaveInstanceState( outState );
RectF theRect = mPhotoView.getDisplayRect();
if (theRect != null)
{
outState.putParcelable( "Rect", theRect );
}
}
}
Но это не работает. Что я должен хранить в пакете, чтобы иметь возможность применить обратно к PhotoView, чтобы сохранить уровень масштабирования?