代码之家  ›  专栏  ›  技术社区  ›  Sireini

如何设置页面/模态的动画以从右侧滑入

  •  0
  • Sireini  · 技术社区  · 7 年前

    https://ionicframework.com/docs/native/native-page-transitions/

    如果我想让这项工作在移动应用程序和网络什么是最好的选择遵循这里?

    我想做的是将我的页面和模态从右侧滑动到页面/模态的位置。

    仅仅使用css动画就可以实现吗?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Gary Großgarten    7 年前

    您可以调整离子配置来实现这一点:

    import { IonicModule } from 'ionic-angular';
    
    @NgModule({
      ...
      imports: [
        BrowserModule,
        IonicModule.forRoot(MyApp, {
           modalEnter: 'modal-slide-in',
           modalLeave: 'modal-slide-out',
           pageTransition: 'ios-transition'
          }
        }, {}
      )],
      ...
    })
    

    看见 https://ionicframework.com/docs/api/config/Config/ 供参考。

    对于单页转换,您可以使用:

    import { Component } from '@angular/core';
    import { NavController, ModalController } from 'ionic-angular';
    
    @Component({
      selector: 'page-home',
      templateUrl: 'home.html'
    })
    export class HomePage {
    
      constructor(public navCtrl: NavController, public modalCtrl: ModalController) {
    
      }
    
      openModal() {
        const modal = this.modalCtrl.create('ContactPage', {}, { enterAnimation: 'modal-slide-in', leaveAnimation: 'modal-slide-out' });
        modal.present();
      }
    
      openPage() {
        this.navCtrl.push('ContactPage', {}, { animation: 'ios-transition' });
      }
    
    }
    

    注意:从右边滑入没有内置的模式转换,但您可以自己定义,如本论坛帖子所述: https://forum.ionicframework.com/t/adding-custom-transitions-custom-modal-transition/75924/3

        2
  •  3
  •   Denecir    6 年前

    在app.module.ts中,导入以下内容:

    import { iosTransitionAnimation } from '@ionic/core/dist/collection/utils/transition/ios.transition';
    

    imports: [
        ...
        BrowserModule,
        IonicModule.forRoot({
            navAnimation:iosTransitionAnimation
        }),
        ...
    ],
    

    它在离子4中起作用。

    也许它能帮助别人!