はじめに
NativeScript でアプリのバージョン情報などを取得する方法。
TL;DR
- EddyVerbruggen/nativescript-appversion を使う
getAppIdSync()
:com.hoge.fuga
などgetVersionNameSync()
:1.0
などgetVersionCodeSync()
:1.0.1
(iOS),10001
(Android) など
NativeScript でアプリのバージョン情報などを取得する方法。
getAppIdSync()
: com.hoge.fuga
などgetVersionNameSync()
: 1.0
などgetVersionCodeSync()
: 1.0.1
(iOS), 10001
(Android) など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">
NativeScript で Skeleton Screen を表示する方法。
width
, height
, border-radius
などを調整