nativescript-photo-zoom
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

NativeScript Photo Zoom

A NativeScript Photo Zoom

Based on

ScrollView and SDWebImage for iOS

PhotoDraweeView and Fresco for Android

Referenced from nativescript-fresco and nativescript-image-zoom

Installation

Run tns plugin add nativescript-photo-zoom

API

Events

  • finalImageSet
    This event is fired after the final image has been set.
  • failure
    This event is fired after the fetch of the final image failed.
  • submit
    This event is fired before the image request is submitted (only Android).
  • scaleChanged
    This event is fired when the image photo is scaling.

Instance Properties

  • src - String
    String value used for the image URI. You can use this property to set the image to be loaded from remote location (http, https), from the resources and local files of your {N} application.
  • placeholder - String
    String value used for the placeholder image URI. You can use this property to set a placeholder image loaded from the local and resources files of your {N} application.
  • stretch - String
    Describes how image is resized to fill its allocated space. This property can be set to: aspectFill, aspectFit, fill or none
  • zoomScale - Number
    Get or set zoom scale of photo.

Usage in Angular

  • Import NativeScriptUIPhotoZoomModule in NgModule:
import { NativeScriptUIPhotoZoomModule } from "nativescript-photo-zoom/angular";
//......
@NgModule({
    //......
    imports: [
        //......
        NativeScriptUIPhotoZoomModule,
        //......
    ],
    //......
})
<!-- app.component.html -->
<GridLayout>
    <PhotoZoom [src]="photoUrl" placeholder="res://placeholder" (finalImageSet)="onFinalImageSet($event)" (failure)="onFailure($event)"  (scaleChanged)="onScaleChanged($event)"></PhotoZoom>
</GridLayout>
// app.componnet.ts
import { Component } from "@angular/core";
 
@Component({
    selector: "ns-app",
    templateUrl: "app.component.html",
})
 
export class AppComponent {
 
    public photoUrl = "https://vignette.wikia.nocookie.net/inuyasha/images/b/b5/Inuyasha.png";
 
    constructor() { }
 
    onFinalImageSet(event) {
        console.log("onFinalImageSet: ", event);
    }
 
    onFailure(event) {
        console.log("onFailure: ", event);
    }
 
    onScaleChanged(event) {
        console.log("onScaleChanged: ", event.object.zoomScale);
    }
}
 

Demos

This repository includes both Angular and plain NativeScript demos. In order to run those execute the following in your shell:

$ git clone https://github.com/HoangJK/nativescript-photo-zoom.git
cd nativescript-photo-zoom/src
$ npm install
$ npm run demo.ios

This will run the plain NativeScript demo project on iOS. If you want to run it on Android simply use the .android instead of the .ios sufix.

If you want to run the Angular demo simply use the demo.ios.ng or demo.android.ng.

Package Sidebar

Install

npm i nativescript-photo-zoom

Weekly Downloads

0

Version

1.0.1

License

Apache-2.0

Unpacked Size

71 kB

Total Files

32

Last publish

Collaborators

  • hoangle2506