はじめに

NativeScript で入力範囲外エリアのタップでキーボードを非表示にする方法

TL;DR

  • Android: dismissSoftInput() を使う
  • iOS: tns-core-modules/application/ios を使って ios.nativeApp.sendActionToFromForEvent('resignFirstResponder', null, null, null)
  • ScrollView あたりに tap イベントのハンドラとして設定
  • iOS は以下の問題があるため使用に注意
    • ロングタップによる入力補助が上手く効かなくなる
    • iOS 12以下だと入力エリアへのフォーカスが効かなくなる
続きを読む

はじめに

NativeScript(NativeScript-Vue) の ListView の表示を強制的に更新する方法。

シチュエーションとしては、「お知らせ一覧」のようなものがあって、詳細を確認したら未読アイコンが消える、というような状況。

「お知らせ詳細」から戻るボタンで ListView に戻ってきても、未読アイコンが消えずにかなりハマった。

なお、Android だと上記の問題は起きなかったため、主に iOS 向けの内容。

TL;DR

  • Pageloaded イベントなどにハンドラを設定
  • ハンドラ内で ListView.refresh() を実行する
  • NativeScript-Vue の場合は $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

TL;DR

  • ios, android をファイル名や、プロパティの prefix などに使う
  • 詳細は チートシート や各事例を参照
続きを読む

はじめに

Chrome 拡張機能で FontAwesome (FontAwesome 5) を使う方法を整理した。

TL;DR

  • 外部アクセス(リモートコード) OK な場合
    • 拡張機能内で <head><link> を差し込む
  • 拡張機能内で完結したい場合
    • Download | Font Awesome から「Pro/Free for Web」一式をダウンロード
    • webfonts 配下一式、および css/all(.min).css を拡張機能内に配置
    • all(.min).cssurl(../webfonts/xxxx)url(chrome-extension://__MSG_@@extension_id__/xxxx) に変更
    • manifest.jsoncss/all(.min).css を読み込み
    • manifest.jsonweb_accessible_resources にフォント一式を追加
続きを読む

はじめに

NativeScript で Skeleton Screen を表示する方法。

TL;DR

  • CSS で Skeleton Screen のアニメーションを作成
  • Skeleton Screen を表示したい箇所に↑のクラスを適用
  • 実レイアウトにあわせて width, height, border-radius などを調整
  • 本物のコンテンツを表示する際に Skeleton Screen は非表示にする
続きを読む

はじめに

NativeScript(NativeScript-Vue) で次入力欄にフォーカスする方法を整理した。

TL;DR

続きを読む

r17n


Softwear Engineer


Fukuoka