2017-07-26 13 views
3

私のアプリケーションアイコンのシルエットを作成するために、小さなアイコンを正確に16x16、グレースケール、灰色と白(灰色の色はhexの値616161)にしてみました。私のsmallIcon for Notificationsは常にグレー表示されていますか?

通知の中に白い/灰色の四角形が表示されても、問題はありません。私は間違って何をしていますか?あなたはアンドロイドの異なるバージョンの異なるアイコンを使用する必要があり、通知のために

(私の分apiは、それが関連していると仮定すると、21である)

+0

変更ミニAPIは20 –

+0

であるため、私はその後、私の分のAPIを変更しないことを好むだろう私は他の場所に頼っている特定の機能を失う – user8367195

+0

@PhátPhátはあなたの背景イメージが正しいと言っている通知アイコンは透明色でなければならない – MinnuKaAnae

答えて

4

フォローthis link

最初に、次のようなAndroidのドキュメントを理解しておきましょう。

"色を含むアセットを更新または削除してください。アクションアイコンとメインの通知アイコンのすべての 非アルファチャンネルは無視されます。 これらのアイコンはアルファのみであると仮定してください。システム は濃いグレーに白とアクションアイコンで通知アイコンを描画します。」

を今これは欠場するのは簡単ですし、私は続いていないユーザーの何千ものアプリストアでのライブです多くのアプリを見てきました上記のガイドライン。

ここで、通知アイコンを数回クリックするだけでAndroid対応のアイコンに変換する方法を詳しく説明します。

お気に入りの画像エディタでアイコンファイルを開きます。表示したくない画像のすべての部分を透明なピクセルに変換します。すべての色と非透明ピクセルは白で表示されます。例を見てみましょう。

enter image description here

あなたはデザイナーに頼むか、新機能に加えて、あなたのアイコン

+0

チャームのように働いた、ありがとう。私は3で受け入れることができます – user8367195

1

Notification notification = new Notification.Builder(context) 
       .setAutoCancel(true) 
       .setContentTitle("My notification") 
       .setContentText("Look, white in Lollipop, else color!") 
       .setSmallIcon(getNotificationIcon()) 
       .build(); 
    return notification; 

はバージョン

に基づいて通知アイコンを取得
private int getNotificationIcon() { 
    boolean useWhiteIcon = (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP); 
    return useWhiteIcon ? R.drawable.icon_silhouette : R.drawable.ic_launcher; 
} 
+0

これは私の質問とは関係ありません、私のAPIは常に> LOLLIPOPになり、その状態の下に現れるのは – user8367195

+0

異なるバージョンの2つの異なるアイコンを作成する必要があります。 for> = LOLLIPOPの場合は、白い色の透明アイコンを作成する必要があります。 –

+0

@PhátPhátの答えを見れば分かります。 –

1

を生成するには、このtoolを使用し、アンドロイド5.0は、システムの変更やAPIの動作の変更が多数含まことができます。 Pl。 notification behavior changesにアクセスしてください。

通知は新しい材料設計のウィジェットに合わせて白(または非常に軽い) 背景の上に暗いテキストで描画されます。 すべての通知が新しい配色で正しく見えるようにしてください。あなたの 通知が間違って見れば、それらを修正:

  • 使用setColor()あなたのアイコン画像の背後にある円の中にアクセントカラーを設定します。
  • 色を含むアセットを更新または削除します。システムは、アクションアイコンとメイン通知アイコンの非アルファチャンネルをすべて無視します。 これらのアイコンはアルファのみであると仮定してください。システム は、通知アイコンを白で表示し、アクションアイコンを濃いグレーで描画します。

だから、基本的にあなたが通知アイコンとしてsilhouetteアイコンを使用する必要がAPIレベルのための21+

関連する問題