NativeScript で Skeleton Screen を表示
はじめに
NativeScript で Skeleton Screen を表示する方法。
TL;DR
- CSS で Skeleton Screen のアニメーションを作成
- Skeleton Screen を表示したい箇所に↑のクラスを適用
- 実レイアウトにあわせて
width
,height
,border-radius
などを調整 - 本物のコンテンツを表示する際に Skeleton Screen は非表示にする
目次
環境・条件
1 | $ sw_vers |
詳細
前置き: Skeleton Screen とは
以下のような本物のコンテンツが表示されるまで代わりに表示されているやつ。
See the Pen Skeleton Screens by Aimee (@aimeeotsu) on CodePen.
> https://codepen.io/aimeeotsu/pen/rLzrJR よりFacebookなどで使われているローディングの名称を知ってる? / 調べたらたくさんありすぎた話 - omuriceman’s blog によると、他にも呼び方がある。
- Skeleton Screen
- Skeleton Placeholder
- Skeleton Loader
- Content Loader
- Content Placeholder
- Placeholder
主流は Skeleton Screen や Content Loader とのこと。
本題: NativeScript で Skeleton Screen を表示
参考: NativeScript ListView Skeleton Screens with Angular & RxJS ☠️ - DEV
上記の実装内容を参考にした。(というか、CSS はそのままコピーしてる)
以下は NativeScript-Vue での実装例。
app/app.scss
1 | .skeleton { |
xxxx.vue
1 | <template> |
動作イメージ(上: Anrdroid, 下: iOS)
あとは表示したい内容(レイアウト)にあわせて width
, height
, border-radius
などの指定、本物のコンテンツを表示したいタイミングでの切り替えを実際のプロダクトに適用すれば OK。
まとめ
- CSS で Skeleton Screen のアニメーションを作成
- Skeleton Screen を表示したい箇所に↑のクラスを適用
- 実レイアウトにあわせて
width
,height
,border-radius
などを調整 - 本物のコンテンツを表示する際に Skeleton Screen は非表示にする
参考文献
- Facebookなどで使われているローディングの名称を知ってる? / 調べたらたくさんありすぎた話 - omuriceman’s blog
- NativeScript ListView Skeleton Screens with Angular & RxJS ☠️ - DEV
- SkeletonListViews by Josh Sommer - {N} Playground
関連記事
- NativeScript, JsBarcode でバーコードを 生成/描画
- NativeScript でデバイスの輝度(明るさ)を制御する
- NativeScript で入力範囲外タップでキーボードを非表示にする
- NativeScript-Vue で次入力欄にフォーカスする方法
- NativeScript で Locale を意識した DatePicker/TimePicker
- NativeScript-Vue でページ読み込み後にページ移動やダイアログの表示
- JavaScript で URL のクエリパラメータを操作する方法
- jQuery Select2 で、初期値の設定と選択状態のクリア