//ここでは、ボタン タップ イベントでオーバーレイを作成し、ContentEl:'' を使用して別のビューをロードしています。オーバーレイはアニメーションで正常に機能しますが、ユーザーがそのオーバーレイで特定のアイテムを選択したときに、このオーバーレイをアニメーションで非表示にする必要があります。
if (!this.overlay) {
this.overlay = Ext.Viewport.add({
xtype: 'panel',
id:'menuOverlayView',
modal: true,
hideOnMaskTap: true,
centered: true,
scroll: 'vertical',
autoDestroy:false,
floating: true,
showAnimation: {
type: 'slide',
duration: 4000,
direction:'down'
},
hideAnimation: {
type: 'slide',
duration: 4000,
direction:'up'
},
contentEl:'menuViewid',
top: Ext.os.deviceType == 'Phone' ? '20%' : '20%',
width: Ext.os.deviceType == 'Phone' ? 260 : 700,
height: Ext.os.deviceType == 'Phone' ? 220 : 600
});
}
this.overlay.show();
// コントローラーでこのオーバーレイを非表示にするコードは以下のとおりです。パネル ID にアクセスしてパネルを非表示にしていますが、パネルは上記のようにアニメーションで非表示にする必要があります
var overlayView=Ext.getCmp('menuOverlayView');
overlayView.setHidden(true);
//スムーズに上にスクロールしてパネルを非表示にするにはどうすればよいですか..私は文の下に書いていますが、エラーが発生して動作していません
overlayView.hideAnimation({type: 'slide', direction: 'up', duration:1000});