@amazon-devices/react-native-vector-iconsライブラリは、Vegaでのreact-native-vector-icons(英語のみ)のサポートを提供します。このライブラリは、ボタン、ロゴ、ナビゲーションバー、タブバーを装飾するために最適な、カスタマイズ可能なベクターアイコンを提供します。これらのアイコンをプロジェクトにシームレスに統合できます。アイコンは適応性が高く、拡大やスタイル設定を簡単に行うことができます。
このライブラリはシステムにデプロイされるため、別途インストールプロセスを必要とすることなくVega向けReact Nativeアプリで利用できます。これは、アプリが実行時にリンクする自動リンクライブラリとしてデプロイされます。このライブラリは、そのライブラリがビルドされたVega向けReact Nativeのバージョンとのみ互換性があることが保証されています。
アプリのVega向けReact Nativeのバージョンをアップレベルするときは、ライブラリの依存関係をアップレベルするベストプラクティスを検討してください。
このライブラリとAPIの詳細については、GitHubリポジトリにあるREADME.md(英語のみ)を参照してください。
インストール
-
package.jsonファイルにJavaScriptライブラリの依存関係を追加します。
-
npm installコマンドを使用して、依存関係を再インストールします。 -
フォントファイルを
<app_package_root>/assets/fontsに追加します。
アップグレード
このパッケージをアップグレードするときは、プロジェクトにリンクされているフォントファイルをアップグレードしてください。自動リンクが有効な場合は、これを再実行するとフォントがアップデートされます。それ以外の場合は、インストールセクションに記載されている手順に従います。例
IconExplorer
GitHub react-native-vector-iconsリポジトリのpackages/icon-explorer(英語のみ)でIconExplorerプロジェクトを試してください。そこでは、任意のアイコンを検索することもできます。
基本的な例
以下は、アイコンを返す基本的な例を示しています。TabBar
以下の例は、TabBarの実装方法を示しています。 これは、react-navigationの例(英語のみ)を抜粋して一部翻訳したものです。
APIサポート
Iconコンポーネント
ライブラリに付属のアイコンのいずれかを使用するか(次の例ではFontAwesome.jsのアイコンを使用しています)、独自のカスタムフォントを作成します。プロパティ
任意のTextのプロパティ(英語のみ)および以下のプロパティを使用できます。静的メソッド
スタイル
IconはTextコンポーネントの上に構築されるため、ほとんどのstyle propertiesは期待どおりに機能します。
次のプロパティを試してください。
backgroundColorborderWidthborderColorborderRadiuspaddingmargincolorfontSize


Icon.Buttonコンポーネント
左側にアイコンが付いたボタンを作成する便利なコンポーネントです。
プロパティ
Text、TouchableHighlight、TouchableWithoutFeedbackのプロパティと、次のプロパティを使用できます。
PNG画像/ソースオブジェクトとしての使用方法
スケーラブルベクターアイコンではなくビットマップ画像に依存する他のコンポーネントと一緒に使用します。前述したように、引数としてname、size、colorを受け取ります。
Icon.getImageSourceSyncを使用することもできます。これはブロッキングメソッドのため、パフォーマンスの低下を招く可能性があることに注意してください。ただし、後続の呼び出しではキャッシュが使用されます。
マルチスタイルフォント
react-native-vector-iconsライブラリは、FontAwesome 5のようなマルチスタイルフォントをサポートしています。使用方法は標準のIconコンポーネントと似ています。
静的メソッド
Iconの静的メソッドはすべて、マルチスタイルフォントでもサポートされます。
スタイル引数が渡されない場合、またはスタイル引数が無効な場合、デフォルトで定義済みのフォールバックが使用されます。
コンポーネント
Icon.Buttonがサポートされています。使用方法はIconと同じです。
カスタムフォント
createIconSet(glyphMap, fontFamily[, fontFile])
glyphMapに基づいて独自のカスタムフォントを返します。keyはアイコン名で、valueはUTF-8文字またはその文字コードです。フォントの名前はfontFamilyですが、これはファイル名ではありません。フォント名を調べるには、Font Book.appや同様のツールでフォントを開きます。
createIconSetFromFontello(config[, fontFamily[, fontFile]])
fontello設定ファイルに基づいてカスタムフォントを作成できます。前述の手順に従って忘れずにフォントをインポートし、config.jsonをプロジェクト内の適切な場所に配置してください。createIconSetFromIcoMoon(config[, fontFamily[, fontFile]])
.zipに含まれている.jsonファイルを使用していることを確認します。前述の手順に従って、.ttfフォントファイルをプロジェクトにインポートします。
createMultiStyleIconSet(styles [, options])
アニメーション
React Nativeには、Animatedというアニメーションライブラリが付属しています。アイコンでこれを使用するには、const AnimatedIcon = Animated.createAnimatedComponent(Icon)というコードでアニメーションコンポーネントを作成します。

