diff options
Diffstat (limited to 'sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay')
4 files changed, 201 insertions, 0 deletions
diff --git a/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayActivity.java b/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayActivity.java new file mode 100644 index 0000000..d871ee4 --- /dev/null +++ b/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayActivity.java @@ -0,0 +1,60 @@ +/* +Copyright 2014 David Morrissey + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package com.davemorrissey.labs.subscaleview.test.imagedisplay; + +import android.support.v4.app.Fragment; +import android.util.Log; + +import com.davemorrissey.labs.subscaleview.test.AbstractFragmentsActivity; +import com.davemorrissey.labs.subscaleview.test.Page; +import com.davemorrissey.labs.subscaleview.test.R.id; + +import java.util.Arrays; +import java.util.List; + +import static com.davemorrissey.labs.subscaleview.test.R.string.*; +import static com.davemorrissey.labs.subscaleview.test.R.layout.*; + +public class ImageDisplayActivity extends AbstractFragmentsActivity { + + private static final List<Class<? extends Fragment>> FRAGMENTS = Arrays.asList( + ImageDisplayLargeFragment.class, + ImageDisplayRotateFragment.class, + ImageDisplayRegionFragment.class + ); + + public ImageDisplayActivity() { + super(display_title, fragments_activity, Arrays.asList( + new Page(display_p1_subtitle, display_p1_text), + new Page(display_p2_subtitle, display_p2_text), + new Page(display_p3_subtitle, display_p3_text) + )); + } + + @Override + protected void onPageChanged(int page) { + try { + getSupportFragmentManager() + .beginTransaction() + .replace(id.frame, FRAGMENTS.get(page).newInstance()) + .commit(); + } catch (Exception e) { + Log.e(ImageDisplayActivity.class.getName(), "Failed to load fragment", e); + } + } + +} diff --git a/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayLargeFragment.java b/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayLargeFragment.java new file mode 100644 index 0000000..ada7aa6 --- /dev/null +++ b/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayLargeFragment.java @@ -0,0 +1,43 @@ +/* +Copyright 2014 David Morrissey + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package com.davemorrissey.labs.subscaleview.test.imagedisplay; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.davemorrissey.labs.subscaleview.ImageSource; +import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; +import com.davemorrissey.labs.subscaleview.test.R.id; +import com.davemorrissey.labs.subscaleview.test.R.layout; + +public class ImageDisplayLargeFragment extends Fragment { + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(layout.imagedisplay_large_fragment, container, false); + rootView.findViewById(id.next).setOnClickListener(new View.OnClickListener() { + @Override public void onClick(View v) { ((ImageDisplayActivity) ImageDisplayLargeFragment.this.getActivity()).next(); } + }); + SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); + imageView.setImage(ImageSource.asset("card.png")); + return rootView; + } + +} diff --git a/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayRegionFragment.java b/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayRegionFragment.java new file mode 100644 index 0000000..889e064 --- /dev/null +++ b/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayRegionFragment.java @@ -0,0 +1,48 @@ +/* +Copyright 2014 David Morrissey + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package com.davemorrissey.labs.subscaleview.test.imagedisplay; + +import android.graphics.Rect; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.davemorrissey.labs.subscaleview.ImageSource; +import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; +import com.davemorrissey.labs.subscaleview.test.R.id; +import com.davemorrissey.labs.subscaleview.test.R.layout; + +public class ImageDisplayRegionFragment extends Fragment { + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(layout.imagedisplay_region_fragment, container, false); + final SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); + imageView.setOrientation(SubsamplingScaleImageView.ORIENTATION_90); + imageView.setImage(ImageSource.asset("card.png").region(new Rect(0, 0, 3778, 2834))); + rootView.findViewById(id.previous).setOnClickListener(new View.OnClickListener() { + @Override public void onClick(View v) { ((ImageDisplayActivity) ImageDisplayRegionFragment.this.getActivity()).previous(); } + }); + rootView.findViewById(id.rotate).setOnClickListener(new View.OnClickListener() { + @Override public void onClick(View v) { imageView.setOrientation((imageView.getOrientation() + 90) % 360); } + }); + return rootView; + } + +} diff --git a/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayRotateFragment.java b/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayRotateFragment.java new file mode 100644 index 0000000..15632db --- /dev/null +++ b/sample/src/main/java/com/davemorrissey/labs/subscaleview/test/imagedisplay/ImageDisplayRotateFragment.java @@ -0,0 +1,50 @@ +/* +Copyright 2014 David Morrissey + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package com.davemorrissey.labs.subscaleview.test.imagedisplay; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.davemorrissey.labs.subscaleview.ImageSource; +import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView; +import com.davemorrissey.labs.subscaleview.test.R.id; +import com.davemorrissey.labs.subscaleview.test.R.layout; + +public class ImageDisplayRotateFragment extends Fragment { + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View rootView = inflater.inflate(layout.imagedisplay_rotate_fragment, container, false); + final SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView); + imageView.setImage(ImageSource.asset("eagle.jpg")); + imageView.setOrientation(90); + rootView.findViewById(id.previous).setOnClickListener(new View.OnClickListener() { + @Override public void onClick(View v) { ((ImageDisplayActivity) ImageDisplayRotateFragment.this.getActivity()).previous(); } + }); + rootView.findViewById(id.next).setOnClickListener(new View.OnClickListener() { + @Override public void onClick(View v) { ((ImageDisplayActivity) ImageDisplayRotateFragment.this.getActivity()).next(); } + }); + rootView.findViewById(id.rotate).setOnClickListener(new View.OnClickListener() { + @Override public void onClick(View v) { imageView.setOrientation((imageView.getOrientation() + 90) % 360); } + }); + return rootView; + } + +} |