私はそれについてオンラインで何も見つけることができません。ドキュメントも何もありません。たぶん、あなたの誰かがそれを行う方法を知っているか、私にアドバイスをもらいました. 前もって感謝します。
1 に答える
2022 年 2 月 18 日の更新: Android 13 では、テーマ アイコンが公式にサポートされています。こちらの手順に従ってください: https://developer.android.com/about/versions/13/features#themed-app-icons
彼らの例に従うには:
アプリ アイコンのモノクロ バージョンを作成する
ic_launcher.xml
これをファイルのタグセットの下に<adaptive-icon />
追加します。<adaptive-icon> <background android:drawable="..." /> <foreground android:drawable="..." /> <monochrome android:drawable="@drawable/myicon" /> </adaptive-icon>
アイコンをマニフェストに追加します。
<application … android:icon="@mipmap/ic_launcher" …> </application>
注:android:roundIcon
とandroid:icon
の両方がマニフェストにある場合は、 への参照を削除するか、属性android:roundIcon
で定義されたドローアブルにモノクロ アイコンを指定する必要があります。android:roundIcon
これらはすべて、Google 開発者の例から直接引き出されたものです。
これについては競合する回答があるようですが、Material Components GitHub リポジトリのこの問題が最も洞察を提供しているようです: https://github.com/material-components/material-components-android/issues/2357
特に、次のようなアダプティブ アイコンを使用します。
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt">
<background android:drawable="@color/launcher_icon_background"/>
<foreground>
<aapt:attr name="android:drawable">
<vector
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="@color/launcher_icon"
android:pathData="m54,74.5l23.3,-29c-0.9,-0.7 -9.9,-8 -23.3,-8c-13.4,0 -22.4,7.3 -23.3,8l23.3,29l0,0c0,0 0,0 0,0zm7.7,-27.3c1.4,1.7 2.3,3.9 2.3,6.3l0,2l-20,0l0,-2c0,-2.4 0.9,-4.6 2.3,-6.3l-2.3,-2.3l1.4,-1.4l2.3,2.3c1.7,-1.4 3.9,-2.3 6.3,-2.3c2.4,0 4.6,0.9 6.3,2.3l2.3,-2.3l1.4,1.4l-2.3,2.3zm-9.7,4.3c0,1.1 -0.9,2 -2,2c-1.1,0 -2,-0.9 -2,-2c0,-1.1 0.9,-2 2,-2c1.1,0 2,0.9 2,2zm8,0c0,1.1 -0.9,2 -2,2c-1.1,0 -2,-0.9 -2,-2c0,-1.1 0.9,-2 2,-2c1.1,0 2,0.9 2,2z" />
</vector>
</aapt:attr>
</foreground>
</adaptive-icon>
...colors.xml
マテリアル3カラーパレットから派生したシステム定義の色を参照する色が定義されています:
<resources>
<color name="launcher_icon_background">@android:color/system_accent1_100</color>
<color name="launcher_icon">@android:color/system_neutral1_800</color>
</resources>
これらの色は、マテリアル デザイン 3 で説明されているように、システム定義のパレットから派生していることに注意してください: https://m3.material.io/libraries/mdc-android/color-theming
API 31+ を具体的に対象とする別のリソース ファイルを作成する必要がある可能性があります。私はこれらの推奨事項をテストしていません。