通知アイテムの背景画像を差し替えてみました。
単一画像だと飽きてしまうので、16 種類の画像をランダムで採用するようにしています。
新しい通知が来るたびに幸せになれます。
※タップするとハイライトします(上図では4番目のアイテム)
ソースコード
- android-4.0.3_r1\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBar.java
// ->
static int cNotificationRowBgResIds[] = {
R.drawable.notification_row_bg_ai,
R.drawable.notification_row_bg_amimami,
R.drawable.notification_row_bg_azusa,
R.drawable.notification_row_bg_chihaya,
R.drawable.notification_row_bg_eri,
R.drawable.notification_row_bg_haruka,
R.drawable.notification_row_bg_hibiki,
R.drawable.notification_row_bg_iori,
R.drawable.notification_row_bg_kotori,
R.drawable.notification_row_bg_makoto,
R.drawable.notification_row_bg_miki,
R.drawable.notification_row_bg_ritsuko,
R.drawable.notification_row_bg_ryo,
R.drawable.notification_row_bg_takane,
R.drawable.notification_row_bg_yayoi,
R.drawable.notification_row_bg_yukiho };
// <-
void applyLegacyRowBackground(StatusBarNotification sbn, View content) {
if (sbn.notification.contentView.getLayoutId() !=
com.android.internal.R.layout.status_bar_latest_event_content) {
int version = 0;
try {
ApplicationInfo info = mContext.getPackageManager().getApplicationInfo(sbn.pkg, 0);
version = info.targetSdkVersion;
} catch (NameNotFoundException ex) {
Slog.e(TAG, "Failed looking up ApplicationInfo for " + sbn.pkg, ex);
}
if (version > 0 && version < Build.VERSION_CODES.GINGERBREAD) {
// content.setBackgroundResource(R.drawable.notification_row_legacy_bg);
} else {
// content.setBackgroundResource(R.drawable.notification_row_bg);
}
}
// -> 別にここじゃなくてもいいけど。。。
int index = (int) (Math.random() * cNotificationRowBgResIds.length);
int resId = cNotificationRowBgResIds[index];
content.setBackgroundResource(resId);
// <-
}
リソース
- android-4.0.3_r1\frameworks\base\packages\SystemUI\res\drawable に以下のファイルを追加
- notification_row_bg_ai.xml
- notification_row_bg_amimami.xml
- notification_row_bg_azusa.xml
- notification_row_bg_chihaya.xml
- notification_row_bg_eri.xml
- notification_row_bg_haruka.xml
- notification_row_bg_hibiki.xml
- notification_row_bg_iori.xml
- notification_row_bg_kotori.xml
- notification_row_bg_makoto.xml
- notification_row_bg_miki.xml
- notification_row_bg_ritsuko.xml
- notification_row_bg_ryo.xml
- notification_row_bg_takane.xml
- notification_row_bg_yayoi.xml
- notification_row_bg_yukiho.xml
※notification_row_bg_haruka.xml のサンプルリソース例
<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime">
<item android:state_pressed="true"
android:drawable="@drawable/notification_item_background_haruka_pressed" />
<item android:state_pressed="false"
android:drawable="@drawable/notification_item_background_haruka" />
</selector>
- android-4.0.3_r1\frameworks\base\packages\SystemUI\res\drawable-hdpi に以下の画像を追加
- notification_item_background_ai.png
- notification_item_background_ai_pressed.png
- notification_item_background_amimami.png
- notification_item_background_amimami_pressed.png
- notification_item_background_azusa.png
- notification_item_background_azusa_pressed.png
- notification_item_background_chihaya.png
- notification_item_background_chihaya_pressed.png
- notification_item_background_eri.png
- notification_item_background_eri_pressed.png
- notification_item_background_haruka.png
- notification_item_background_haruka_pressed.png
- notification_item_background_hibiki.png
- notification_item_background_hibiki_pressed.png
- notification_item_background_iori.png
- notification_item_background_iori_pressed.png
- notification_item_background_kotori.png
- notification_item_background_kotori_pressed.png
- notification_item_background_makoto.png
- notification_item_background_makoto_pressed.png
- notification_item_background_miki.png
- notification_item_background_miki_pressed.png
- notification_item_background_ritsuko.png
- notification_item_background_ritsuko_pressed.png
- notification_item_background_ryo.png
- notification_item_background_ryo_pressed.png
- notification_item_background_takane.png
- notification_item_background_takane_pressed.png
- notification_item_background_yayoi.png
- notification_item_background_yayoi_pressed.png
- notification_item_background_yukiho.png
- notification_item_background_yukiho_pressed.png
※本サイトでの画像配布はありませんので、画像は各自で適当なものを準備してください(上記は、あくまでも参考イメージです)
