GithubHelp home page GithubHelp logo

androidzoomifyviewer's People

Contributors

leiblix avatar rzeh4n avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

androidzoomifyviewer's Issues

zooming still shivers for landscape-type images

With both zooming (pinch, double tap) images still shiver when zooming in. The higher zoom level, the higher shivering. It concerns images that are "landscpe", i. e. width is higher than height, and very slightly portrait-type images as well.
Could be caused by rounding to pixels (int) after scaling and zooming.

SingleTapListener.onSingleTap not called after short swipe

It seems like single tap in TiledImageView is not detected properly. It looks like source of this problem are very short swipes. After any swipe finishes, there's obviously no single tap detected. There should be a treshold for swipes in order to avoid this behaviour.

zooming allows shifting image too far

Zooming in, some shifting and zooming out can create situation when image itself is "moved" so that there's unneccessary free space to the right/left/lower/upper side of the image.
Just like shifting doesn't allow this to happen, neither shoudl zooming.

npe when MetadataInitializationListener not definied

Similar to #34. If TiledImageView.loadImage(protocol, baseUrl) is called before mImageView.setMetadataInitializationListener(listener), npe is thrown. If not defined, there should be definitively warning log but no exception.
java.lang.NullPointerException
at cz.mzk.tiledimageview.TiledImageView.initImageManager(TiledImageView.java:368)
at cz.mzk.tiledimageview.TiledImageView.loadImage(TiledImageView.java:336)
at cz.mzk.tiledimageview.demonstration.intro.viewMode.IntroViewmodeActivityTabFragment.initImageView(IntroViewmodeActivityTabFragment.java:108)
at cz.mzk.tiledimageview.demonstration.intro.viewMode.IntroViewmodeActivityTabFragment.onActivityCreated(IntroViewmodeActivityTabFragment.java:55)
at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1983)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1092)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570)
at android.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:164)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1177)
at android.support.v4.view.ViewPager.populate(ViewPager.java:1025)
at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545)
at android.view.View.measure(View.java:15172)
at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:617)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:399)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1390)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:681)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
at android.view.View.measure(View.java:15172)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4814)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2148)
at android.view.View.measure(View.java:15172)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1848)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1100)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1273)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4212)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
at android.view.Choreographer.doCallbacks(Choreographer.java:555)
at android.view.Choreographer.doFrame(Choreographer.java:525)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)

Implement callbacks for downloading tiles

When TilesDownloader is initialized by downloading ImageProperties.xml there's a handler class containing callback for success or multiple error situations. Similar handler should be implemented for dowloading single tile.
Also examples of such data in backend and test app.

means to programatically clean cache

Cache manager should have method to clean cache. This would be useful in scenarios when tiled image is being tweaked (changed on server) and tiles in cache are no longer correct. Simplest solution so far is to uninstall app or manually delete cache directories. Perhaps by parameter "reset on startup" in constructors of cache classes.

npe when TiledImageView.SingleTapListener not defined

java.lang.NullPointerException
at cz.mzk.tiledimageview.gestures.MyGestureListener.onSingleTapConfirmed(MyGestureListener.java:61)
at android.view.GestureDetector$GestureHandler.handleMessage(GestureDetector.java:276)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

integration with 3rd libray

the hot library such as glide is playing the key role in loading the images off the url and caching. Are there any chances that you can have a start using them? @rzeh4n

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.