From 22b5302d8500b5f23416940963bd0ec9ea841366 Mon Sep 17 00:00:00 2001 From: David Morrissey Date: Tue, 20 May 2014 10:39:32 +0100 Subject: Refactored to very basic library + sample structure --- .../labs/subscaleview/sample/SampleActivity.java | 64 ++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 sample/src/com/davemorrissey/labs/subscaleview/sample/SampleActivity.java (limited to 'sample/src') diff --git a/sample/src/com/davemorrissey/labs/subscaleview/sample/SampleActivity.java b/sample/src/com/davemorrissey/labs/subscaleview/sample/SampleActivity.java new file mode 100644 index 0000000..320510e --- /dev/null +++ b/sample/src/com/davemorrissey/labs/subscaleview/sample/SampleActivity.java @@ -0,0 +1,64 @@ +package com.davemorrissey.labs.subscaleview.sample; + +import android.app.Activity; +import android.graphics.PointF; +import android.os.Bundle; +import android.util.Log; +import android.view.View; +import android.view.View.OnClickListener; +import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; +import com.davemorrissey.labs.subscaleview.sample.R.id; + +import java.io.IOException; + +public class SampleActivity extends Activity implements OnClickListener { + + private static final String STATE_SCALE = "state-scale"; + private static final String STATE_CENTER_X = "state-center-x"; + private static final String STATE_CENTER_Y = "state-center-y"; + + private int orientation = 0; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.main); + findViewById(id.rotate).setOnClickListener(this); + try { + SubsamplingScaleImageView imageView = (SubsamplingScaleImageView)findViewById(id.imageView); + imageView.setOrientation(orientation); + imageView.setImageAsset("DSC04285.JPG"); + + if (savedInstanceState != null && + savedInstanceState.containsKey(STATE_SCALE) && + savedInstanceState.containsKey(STATE_CENTER_X) && + savedInstanceState.containsKey(STATE_CENTER_Y)) { + imageView.setScaleAndCenter(savedInstanceState.getFloat(STATE_SCALE), new PointF(savedInstanceState.getFloat(STATE_CENTER_X), savedInstanceState.getFloat(STATE_CENTER_Y))); + } + } catch (IOException e) { + Log.e(SampleActivity.class.getSimpleName(), "Could not load asset", e); + } + } + + @Override + public void onClick(View view) { + if (view.getId() == id.rotate) { + orientation = (orientation + 90) % 360; + SubsamplingScaleImageView imageView = (SubsamplingScaleImageView)findViewById(id.imageView); + imageView.setOrientation(orientation); + } + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + + SubsamplingScaleImageView imageView = (SubsamplingScaleImageView)findViewById(id.imageView); + outState.putFloat(STATE_SCALE, imageView.getScale()); + PointF center = imageView.getCenter(); + if (center != null) { + outState.putFloat(STATE_CENTER_X, center.x); + outState.putFloat(STATE_CENTER_Y, center.y); + } + } +} -- cgit v1.2.3