2012년 3월 20일 화요일

[안드로이드] ICS에서 Notification RemoteView 사용하기

ICS에선 노티피케이션이 좀 멋있어 졌다.
좌측의 아이콘 화면이 노티피케이션 항목의 높이 만큼 커졌는데..
리모트 뷰를 사용 하던 기존 소스를 이용하면 새로운 노티피케이션과 어울리지않는 촌스러운 화면으로 보여 지게 된다.
그렇다고 RemoteView로 ICS스타일 처럼 똑같이 만들자니 쉽지가 않다.

자 그럼 왼쪽에 큰 아이콘을 유지 하면서 그 오른쪽에 RemoteView를 그리려면?
방법은 간단하다.
1. 먼저 기존의 RemoteView 의 레이아웃에서 아이콘을 제거 한다.
2. 좌측에 큰 아이콘을 넣을 것 이므로 그에 맞춰 레이아웃을 조정한다. 그럼 xml은 완성.
3. 다음으로 Notification을 만드는 코드에서 다음과 같이 largeIcon 값을 지정한다.
noti.largeIcon = BitmapFactory.decodeResource(res, resourceID);
    Notification.builder를 이용한다면 다음과 같이 지정 하면 된다.
notiBuilder.setLargeIcon(BitmapFactory.decodeResource(res, resourceID));
이렇게 하면 ICS에서도 이쁘게 보이는 Notification이 된다.

댓글 1개: