クロスプラットフォーム対応のモバイルアプリ開発フレームワークであるIonicの使い方を紹介していきます。
今回はActionSheet(BottomSheet)の実装を紹介します。
ActionSheet(BottomSheet)
ActionSheet(BottomSheet)は、ユーザーに機能選択したり起動する他のアプリを選択してもらう際に、画面下部ににゅっと表示するダイアログです。iOSではActionSheet、AndroidではBottomSheetと呼ばれることが多いかと思います。
左側がiOSレイアウト、右側がAndroidレイアウトです。
このようなシートを表示するために、IonicではずばりActionSheetというモジュールが用意されており、ActionSheetControllerを用いて生成することができます。
以下に上記のようなActionSheetの表示をするメソッドを示します。
showSheet() {
let sheet = this.actionSheetCtrl.create({
title: 'Choice',
buttons: [
{
text: 'Preview',
handler: () => {
console.log('Preview clicked');
}
},
{
text: 'Share',
handler: () => {
console.log('Share clicked');
}
},
{
text: 'Cancel',
role:'cancel',
handler: () => {
console.log('Cancel clicked');
}
}
]
});
sheet.present();
}
ActionSheetController#createを用いてActionSheetのインスタンスを取得し、ActionSheetのpresentメソッドを呼んであげればOKです。createメソッドの引数はoptionで、どのようなシートを生成するかの定義を行います。
ポイントはbuttonsに指定する配列ですね。配列の各要素であるbuttonオブジェクトは、テキストを指定するtext、ボタンが押された時のコールバックメソッドを指定するhandlerをプロパティとして持つことができます。他にアイコンを指定するiconプロパティ、キャンセル機能などを指定するroleプロパティがあります。
