BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Jetpack Compose 1.1でパフォーマンスと視覚的な一貫性が向上

Jetpack Compose 1.1でパフォーマンスと視覚的な一貫性が向上

原文(投稿日:2022/02/13)へのリンク

Androidの宣言型UIツールキットJetpack Composeの最近の1.1リリースでは、すべてのタッチターゲットのアクセシビリティが向上し、パフォーマンス向上のために画像ベクトルキャッシュが追加され、いくつかの実験的なAPIが安定化している。

新しいImageVectorキャッシュは、パフォーマンスを大幅に向上させるとGoogleは言っている。特に、キャッシュには、painterResource APIを使用して作成されたすべてのベクター画像が含まれている。これは、ベクタードローアブルとラスタライズされたアセットをロードするために使用されるコモディティAPIである。その際、ユーザが事前にタイプを知っている必要はない。

Jetpack Compose 1.1は、ボタンやその他のコントロールなどのタッチターゲットに対するアクセシビリティ要件を適用する方向にも進んでいる。たとえば、Androidマテリアルアクセシビリティガイドラインでは、ラジオボタンが少なくとも48x48dpである必要がある。つまり、Jetpack Composeは、コンポーネントがレイアウトの端に近すぎたり、別のコンポーネントに近すぎたりしないように、コンポーネントの周囲に余分なスペースを追加する場合がある。最低限のユーザビリティ要件を満たすことに加えて、この変更によって、Composeがマテリアルデザインコンポーネント(ビューなど)に適用されるもののと同じデフォルトに従うようになり、それによって視覚的な一貫性も向上する。

新しいタッチターゲットのサイズ設定の動作により、既存のUIレイアウトが変更される可能性があることに注意してください。その結果、UIレイアウトが破損する可能性がある。このため、LocalMinimumTouchTargetEnforcementプロパティをfalseに設定することで、この新しい動作を無効にできる。しかし、その場合、UIは最低限のユーザビリティ要件を満たさなくなる。

Jetpack 1.1では、アニメーションに関連する多くのAPIが安定化している。たとえば、AnimatedVisibilityコンポーザブルでは、EnterトランジションとExitトランジションを適用することで、一部のコンテンツの表示と非表示をアニメーション化するために使われている。安定した出口と入口のトランジションには、フェードインとフェードアウト、スケールインとスケールアウト、スライドインとスライドアウトなどが含まれる。

さらに、いくつかの新しいAPIが実験的に導入された。たとえば、rememberSaveableAnimatedContentで使用できるようになった。また、新しいBringIntoView APIを使って、parentがスクロールしてアイテムを表示できるようになりました。

Jetpack Composeを構成する7つのコンポーネントのそれぞれに関して、すべての詳細を確認するには、公式リリースノートをお見逃しなく。

作者について

この記事に星をつける

おすすめ度
スタイル

BT