package it.sephiroth.android.library.imagezoom.test; import it.sephiroth.android.library.imagezoom.test.ImageViewTouch.OnImageViewTouchDoubleTapListener; import it.sephiroth.android.library.imagezoom.test.ImageViewTouch.OnImageViewTouchSingleTapListener; import it.sephiroth.android.library.imagezoom.test.ImageViewTouchBase.DisplayType; import it.sephiroth.android.library.imagezoom.test.ImageViewTouchBase.OnDrawableChangeListener; import it.sephiroth.android.library.imagezoom.test.factory.GeneralServiceFactory; import it.sephiroth.android.library.imagezoom.test.util.LogController; import android.app.Activity; import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.view.WindowManager; import android.widget.Button; public class ImageViewTestActivity extends Activity { private static final String LOG_TAG = "image-test"; ImageViewTouch mImage; Button mButton1; static int displayTypeCount = 0; boolean needFullScreen = true; @Override protected void onCreate( Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); GeneralServiceFactory.getImageService().prepareFileStructure(); GeneralServiceFactory.getThreadService().startImageExecutor(); requestWindowFeature( Window.FEATURE_NO_TITLE ); setContentView( R.layout.main ); } @Override public void onContentChanged() { super.onContentChanged(); LogController.log("onContentChanged"); mImage = (ImageViewTouch) findViewById( R.id.image ); // set the default image display type mImage.setDisplayType( DisplayType.FIT_IF_BIGGER ); mButton1 = (Button) findViewById( R.id.button ); mButton1.setOnClickListener( new OnClickListener() { @Override public void onClick( View v ) { selectRandomImage(); } } ); mImage.setSingleTapListener( new OnImageViewTouchSingleTapListener() { @Override public void onSingleTapConfirmed() { Log.d( LOG_TAG, "onSingleTapConfirmed" ); toggleFullscreen(needFullScreen); } } ); mImage.setDoubleTapListener( new OnImageViewTouchDoubleTapListener() { @Override public void onDoubleTap() { Log.d( LOG_TAG, "onDoubleTap" ); } } ); mImage.setOnDrawableChangedListener( new OnDrawableChangeListener() { @Override public void onDrawableChanged( Drawable drawable ) { Log.i( LOG_TAG, "onBitmapChanged: " + drawable ); } } ); } @Override public void onConfigurationChanged( Configuration newConfig ) { super.onConfigurationChanged( newConfig ); } public void selectRandomImage() { mImage.setRequestingUrl(new Handler(), "http://eofdreams.com/data_images/dreams/car/car-02.jpg", Constants.IMAGE_FOLDER); } private void toggleFullscreen(boolean fullscreen) { WindowManager.LayoutParams attrs = getWindow().getAttributes(); if (fullscreen) { attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; mButton1.setVisibility(View.GONE); needFullScreen = false; } else { attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN; mButton1.setVisibility(View.VISIBLE); needFullScreen = true; } getWindow().setAttributes(attrs); } }