Androidアダプティブアイコンの対応について
2019年10月5日
kunimiyasoftのアプリケーションをAndroid 8.0以上のスマホで見ると、以下のようなアイコンの表示になってしまいました
ただでさえ手抜きなアイコンが、余計に見づらくなっています。(※東京周辺マップは ver 0.80で対応しました)
これは、「Adaptive Icon」という新しい規格が導入されたためです。新しくリリースするアプリケーションは、「Adaptive Icon」に対応する必要があります。仕様としては、
・バックグラウンドとフォアグラウンドの2つのレイヤを使う
・レイヤのサイズはどちらも 108 x 108 dp にする
・中心から直径66dpにアイコンを置く。残りは余白としておく。
などです。
しかし、私はアイコン作りが大の苦手。東京周辺マップのアイコンも、Web上のツールで簡単に作ったものです。本来ならデザイナーに任せるべきですが、予算もありません。どうしようかと思って調べると、Android Studioにツールがあることが分かりました。「Asset Studio」というツールです。
そこで「Asset Studio」を使って、従来のアイコンをコンバートさせてみました。あくまでも応急措置なやり方ですが、私にはこれくらいしかできません。それでは紹介します。
1.Asset studioの起動
Projectウインドウの「res」の位置で右クリックし、表示されたメニューから「New」「Image Asset」を選びます。
2.アイコンイメージの指定
Asset Studioが立ち上がります。まず「Foreground Layer」を選びます。「Asset Type」の項目があり、アイコンの元リソースの選択ができます。「Text」という項目は、私のようなデザインができない人に適していますね。しかし今回は、今まで使用したアイコン画像を使います。「Image」を選択します。
そして、今まで使っていたアイコン画像を指定します。今までのアイコン画像の最大サイズは512×512なので、そのイメージを指定しました。すると、右側のウインドウにアイコンのイメージが表示されます。これらはAndroidのバージョンなどの条件によって使い分けられます。
3.元イメージの拡大縮小
アイコンに表示される元画像の表示が合っていません。そこで、元画像を拡大縮小して合わせます。今回は拡大して表示を合わせました。厳密には拡大縮小はしないで枠に収まるアイコン画像を用意するべきでしょう。
とりあえずこれで良いことにして次に進みます。※「Background Layer」はデフォルトのままにします。
4.アイコンリソース出力の確認
出力するアイコンリソースの一覧が出てきます。従来のアイコンリソースと同じリソース名の部分が赤色になっています。上書きしたくない場合は、名前を変更する必要があります。確認したら、「Finish」でアイコンリソースを作成します。
5.アイコン表示の結果
アイコンリソースが自動で作成されます。リソース名が従来と違う場合は、AndroidManifestや各種Activityの修正をしてください。プロジェクトをビルドしてインストールした後のアプリ一覧が、上の図です。Adaptive Iconに対応できているようです。
また、Android 6.0のスマートフォンで表示すると
と、旧仕様のアイコンが表示されています。このように「Asset Studio」を使えば、Androidのバージョンに応じたアイコンを一度に作成することができて便利です。
6.まとめ
何とかAdaptive Iconに対応できました。Asset Studioなしで手動で作るとしたら大変だったと思います。
Googleからの仕様変更などの通知を見逃してしまうこともあると思いますが、やはりすべて目を通しておかないと痛い目に遭うかもしれません。注意しましょう。
Android開発Adaptive Icon,Android,Android Studio
Posted by kunimiyasoft
関連記事
Androidアプリケーションのレイアウトについて
地図アプリケーション「日本周遊マップ」はGoogle Playの審査を通って公開 ...
OneDriveからAndroidへファイル転送する
パソコンからAndroidへファイル転送する方法はいくつかあります。その中の一つ ...
Error while waiting for device: Timed out after 300seconds waiting for emulator to come online.
Android Studioを使っていて、頻繁に出て困っているのが、タイトルのエ ...
AndroidでOCRをする時に便利なtess-twoライブラリ
あることをしたくて、カメラ画像から文字の読み込みをしてみました。一般的にOCRと ...
Androidアプリ作成講座 7-キャンバス上で描画する
それではSurfaceView上に描画を行います。描画はSurfaceにあるキャ ...