Ionicでグローバルで設定可能な項目を改めて見直そう
Ionicを使う時、モジュールをInitializeするためのメソッドを実行します。Angularなら provideIonicAngular
、Reactなら setupIonicReact
、Vueなら createApp
メソッドの use
内ですね。
この時、引数を渡すと、Ionicの初期設定をオーバーライドして、アプリ全体に適用されます。この引数には、アニメーションの有効/無効、プラットフォームスタイル、ハードウェアの戻るボタンの有効/無効、ステータスバーのタップ時の挙動、アイコンのカスタマイズ、アニメーションのカスタマイズ、セキュリティ設定など、様々な項目が含まれます。
この記事では、Ionicのグローバル設定項目について改めて見直し、各項目の意味と使い方を解説します。
設定の仕方
Angular
provideIonicAngular({
rippleEffect: false,
mode: 'md',
})
React
setupIonicReact({
rippleEffect: false,
mode: 'md',
});
Vue
createApp(App).use(IonicVue, {
rippleEffect: false,
mode: 'md',
});
IonicConfig徹底解説:アプリのカスタマイズを極めるための設定項目
アニメーションと視覚効果
-
animated?: boolean
: アニメーションとトランジションをアプリ全体で有効/無効にします。デフォルトはtrue
(有効)です。低スペックデバイスでアニメーションがカクつく場合にfalse
(無効)に設定することで、動作をスムーズにすることができます。パフォーマンスとユーザーエクスペリエンスのバランスを考慮して設定しましょう。 -
rippleEffect?: boolean
: マテリアルデザインのリップル効果を有効/無効にします。デフォルトはtrue
(有効)です。こちらも低スペックデバイスや、リップル効果が不要な場合にfalse
(無効)に設定できます。
プラットフォームとハードウェアとの連携
-
mode?: Mode
: アプリ全体で使用するプラットフォームスタイルを決定します。ios
、md
(マテリアルデザイン)、auto
などから選択できます。auto
はデバイスのOSを元に自動的に選択します。プラットフォーム固有のルックアンドフィールを適用したい場合に有効です。 -
hardwareBackButton?: boolean
: Androidデバイスでハードウェアの戻るボタンに対応するかどうかを設定します。モバイルデバイスではデフォルトでtrue
(有効)です。この設定をfalse
にすると、ハードウェアの戻るボタンが無効になります。 -
statusTap?: boolean
: ステータスバーをタップした際にスクロールをトップに移動させるかどうかを設定します。モバイルデバイスではデフォルトでtrue
(有効)です。
バックボタンとメニューボタンのカスタマイズ
-
backButtonIcon?: string
: 全ての<ion-back-button>
コンポーネントのデフォルトのアイコンを上書きします。カスタムアイコンを使用したい場合に便利です。 -
backButtonText?: string
: 全ての<ion-back-button>
コンポーネントのデフォルトのテキストを上書きします。 -
backButtonDefaultHref?: string
: 全ての<ion-back-button>
コンポーネントのデフォルトのhref
属性を上書きします。 -
menuIcon?: string
: 全ての<ion-menu-button>
コンポーネントのデフォルトのアイコンを上書きします。 -
menuType?: string
: 全ての<ion-menu>
コンポーネントのデフォルトのメニュータイプを上書きします。デフォルトではアプリのモードに基づいて選択されます。
スピナー、トグル、その他コンポーネントのカスタマイズ
-
spinner?: SpinnerTypes
: 全ての<ion-spinner>
コンポーネントのデフォルトのスピナーを上書きします。デフォルトではモード(iosまたはmd)に基づいて選択されます。 -
toggleOnOffLabels?: boolean
: 全ての<ion-toggle>
コンポーネントのデフォルトのon/off
ラベルを有効/無効にします。 -
loadingSpinner?: SpinnerTypes | null
:ion-loading-controller
で作成された全てのion-loading
オーバーレイのデフォルトのスピナーを上書きします。 -
refreshingIcon?: string
: 全ての<ion-refresh-content>
コンポーネントのデフォルトのアイコンを上書きします。 -
refreshingSpinner?: SpinnerTypes | null
: 全ての<ion-refresh-content>
コンポーネントのデフォルトのスピナータイプを上書きします。 -
infiniteLoadingSpinner?: SpinnerTypes | null
: 全ての<ion-infinite-scroll-content>
コンポーネントのデフォルトのスピナータイプを上書きします。
ジェスチャーとナビゲーション
-
swipeBackEnabled?: boolean
: アプリ全体で「スワイプして戻る」ジェスチャーを有効/無効にします。デフォルトはtrue
です。 -
tabButtonLayout?: TabButtonLayout
: 全てのion-bar-button
のデフォルトのレイアウトを上書きします。
アニメーションのカスタマイズ
navAnimation
, actionSheetEnter
, alertEnter
, loadingEnter
, modalEnter
, popoverEnter
, toastEnter
, pickerEnter
, actionSheetLeave
, alertLeave
, loadingLeave
, modalLeave
, popoverLeave
, toastLeave
, pickerLeave
これらの項目は、それぞれ対応するIonicコンポーネントの表示・非表示時のアニメーションをカスタマイズするために使用します。AnimationBuilder
を用いて独自のアニメーションを作成し、適用できます。高度なカスタマイズに利用します。
セキュリティとその他設定
-
sanitizerEnabled?: boolean
: カスタムHTMLを受け入れるコンポーネントのプロパティに対して基本的なDOMサニタイザーを有効/無効にします。セキュリティを強化するためにtrue
に設定することを推奨します。 -
innerHTMLTemplatesEnabled?: boolean
:innerHTML
の使用を有効/無効にします。セキュリティ上のリスクを考慮し、必要がない限りfalse
にすることを推奨します。 -
platform?: PlatformConfig
: デフォルトのプラットフォーム検出方法を上書きします。 -
focusManagerPriority?: FocusManagerPriority[]
: ページ遷移後に適切な要素にフォーカスを移動します。アクセシビリティを向上させるために使用します。(実験的な機能) -
experimentalCloseWatcher?: boolean
: Escapeキーとハードウェアの戻るボタンを使用してメニューやオーバーレイを閉じ、ナビゲーションを行うために、Close Watcher APIを使用します。(実験的な機能、hardwareBackButton
もtrue
にする必要があります) -
keyboardHeight
,inputShims
,scrollPadding
,inputBlurring
,scrollAssist
,hideCaretOnScroll
,persistConfig
,_forceStatusbarPadding
,_testing
,_zoneGate
,_ael
,_rel
,_ce
: これらの項目は、内部的な設定であり、通常は直接操作する必要はありません。
まとめ
この解説が、IonicConfig
を理解し、Ionicアプリ開発をより高度に進める上で役立つことを願っています。それぞれの項目を適切に設定することで、ユーザーエクスペリエンスを向上させ、パフォーマンスを最適化することができます。不明な点があれば、公式ドキュメントを参照ください。
それではまた。
Discussion