Aktifkan gesek di TabView

Saya menggunakan NativeScript Angular dan memiliki TabView yang diatur ke posisi bawah. Saya ingin mengizinkan pengguna untuk menggeser antar tab di iOS dan Android tetapi di TabView docs dikatakan bahwa gesekan telah dinonaktifkan ketika posisi disetel ke bawah.

Bagaimana cara mengaktifkan gesekan pada TabView?


person Graham    schedule 03.08.2018    source sumber


Jawaban (1)


Setelah membaca tentang API isyarat saya akhirnya melakukannya dengan menambahkan pendengar acara gesek ke TabView:

HTML:

<TabView #tabview (swipe)="onSwipe($event)" androidTabsPosition="bottom">

    <page-router-outlet
        *tabItem="{title: 'Start', iconSource: getIconSource('play')}"
        name="startTab">
    </page-router-outlet>

    <page-router-outlet
        *tabItem="{title: 'Settings', iconSource: getIconSource('settings')}"
        name="settingsTab">
    </page-router-outlet>

</TabView>

Skrip Ketik:

@ViewChild("tabview") tabview!: ElementRef<TabView>;
...
  onSwipe(event: SwipeGestureEventData) {
    if (this.tabview.nativeElement.selectedIndex === 0 && event.direction === SwipeDirection.left){
      this.tabview.nativeElement.selectedIndex = 1;
    } else if(this.tabview.nativeElement.selectedIndex === 1 && event.direction === SwipeDirection.right){
      this.tabview.nativeElement.selectedIndex = 0;
    }
  }
...
person Graham    schedule 05.08.2018
comment
Saya kira ini tidak akan memiliki animasi 'slide' saat Anda menggesernya, bukan? - person Muhammad bin Yusrat; 28.06.2019