はじめに
webpack で Moment.js の不要な Locale を除去する方法。
TL;DR
- 公式ドキュメントの手順通り
webpack.config.jsのpluginsに以下を追加new MomentLocalesPlugin({ localesToKeep: ["ja"] })
webpack で Moment.js の不要な Locale を除去する方法。
webpack.config.js の plugins に以下を追加new MomentLocalesPlugin({ localesToKeep: ["ja"] })NativeScript でデバイスの輝度(明るさ)を制御する方法。
brightness.set({ intensity: <value> }) で輝度設定(0(暗) <-> 100(明))brightness.get() で現在の輝度取得suspendEvent などPage や xxxxLayout などの load や unload イベントモバイルアプリ(スマホアプリ)の強制アップデート(アップデートのお知らせ)に関して調べたり、検討したりしたので簡易的なメモを残しておく
強制アップデート(アップデートのお知らせ)とは、↓のようなアプリ起動時に「最新版があるよ」と通知するようなやつ。
NativeScript で入力範囲外エリアのタップでキーボードを非表示にする方法
dismissSoftInput() を使うtns-core-modules/application/ios を使って ios.nativeApp.sendActionToFromForEvent('resignFirstResponder', null, null, null)ScrollView あたりに tap イベントのハンドラとして設定NativeScript(NativeScript-Vue) の ListView の表示を強制的に更新する方法。
シチュエーションとしては、「お知らせ一覧」のようなものがあって、詳細を確認したら未読アイコンが消える、というような状況。
「お知らせ詳細」から戻るボタンで ListView に戻ってきても、未読アイコンが消えずにかなりハマった。
なお、Android だと上記の問題は起きなかったため、主に iOS 向けの内容。
Page の loaded イベントなどにハンドラを設定ListView.refresh() を実行する$refs を使うと楽NativeScript(NativeScript-Vue) でプラットフォームごとにファイルやプロパティを切り替える方法。
チートシート
| 種別 | iOS | Android |
|---|---|---|
| View ファイル分割 | xx.ios.vue |
xx.android.vue |
| View 内で分岐 | <ios></ios> |
<android></android> |
| プロパティで分岐 | ios:prop |
android:prop |
| スタイルシートファイル分岐 | xx.ios.(s)css |
xx.android.(s)css |
| JS ファイル分岐 | xx.ios.js |
xx.android.js |
| JS 内で分岐 | isIOS |
isAndroid |
ios, android をファイル名や、プロパティの prefix などに使うNativeScript(NativeScript-Vue) で ActionBar を非表示にする方法。
Page の actionBarHidden プロパティを true に設定<Page actionBarHidden="true">