Android 8.0 は適応型アプリ起動アイコンを導入し、異なるデバイスで異なるアイコンを表示できるようになりました。例えば、適応型アイコンはあるデバイスでは円形で、別のデバイスでは四角形として表示されます。各 OEM メーカーはマスクを提供し、システムは適応型アイコンを自動的に同じ形状にレンダリングします。適応型アイコンは設定や共有など、統一されたアイコンスタイルを維持したい場所でも使用できます。
- 適応型アイコンがサポートするマスクはデバイスによって異なります。
適応型アイコンの外観は、背景と前景の 2 つのレイヤーを定義することで制御できます。アイコンの形状として、背景や影のない画像を提供する必要があります。
- 適応型アイコンの前景、背景、およびマスク
Android 7.1 (API レベル 25) 以前の起動アイコンは、標準スクリーン密度で 48 * 48 dp でしたが、現在は以下の基準に従って適応型アイコンのレイヤーを定義する必要があります:
- 前景レイヤーと背景レイヤーのサイズは 108 * 108 dp でなければなりません;
- マスクの可視範囲のサイズは 72 * 72 dp;
- システムはアイコンの外側に 18dp を確保して、興味深い視覚効果を作成します。視覚効果はデバイスのランチャーによって異なります。
注意:OEM メーカーが指定するマスクの半径は最短 33dp です。
- 適応型アイコンの作成
適応型アイコンは、Android Studio が提供する Image Asset Studio ツールを使用して作成できます。このツールを使用すると、さまざまなタイプのアイコンを作成でき、各一般的なスクリーン密度に対して適切な解像度のアイコンセットが生成されます。もちろん、Image Asset Studio を使用すると、他の適応が必要な一連のアイコンも生成できます。以下は Image Asset Studio の操作画面です:
前景と背景を選択すると、Image Asset Studio は自動的に対応する解像度のアイコンファイルを生成します。参考は以下の通りです:
上記のディレクトリの中で、ディレクトリ mipmap-anydpi-v26 は Android 8.0 以上のために作成された起動アイコンです。Target Sdk Version が API 26 以上の場合、システムは自動的にこのディレクトリ内のアイコンファイルをアプリのアイコンファイルとして選択します。そのアイコンファイルの内容は以下の通りです:
<!--ic_launchr.xml-->
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
上記のファイルでは、背景として色が選択され、前景として画像が選択されています。最終的に生成された適応型アイコンファイルの効果の比較は以下の通りです:
背景 | 前景 | 重ね合わせ効果 |
---|---|---|
#4E4C9E |
もちろん、Android 8.0 より前のバージョンでは、対応する解像度のアイコンファイルが使用されるため、アイコンファイルの適応が非常に便利に行えます。