최근에 많은 앱들이 젤리빈(Android 4.1) 버전에서 추가된 BicPictureStyle을 이용하여
노티바에 큰 이미지를 보여주고 있다.
두손가락을 이용해 위로 드래그 하게 되면 접히고, 아래로 드래그 하면 큰이미지가 보이면서 열리게 된다.
즉..접혔을때의 컨텐츠와 열렸을때 서로 다른 컨텐츠를 지정할 수 있다.
필자는 다양한 버전을 지원하기 위해 v4 support library를 사용하였으며
해당 값들의 세팅은 임의로 지정하였다.
/** * 먼저 NotificationCompat Builder를 선언한다. * Builder의 경우 접혔을 때 노티바에 표시할 컨텐츠를 설정한다. */ NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_launcher) //작은아이콘 세팅 .setContentTitle(context.getResources().getString(R.string.title) ) //노티바에 표시될 타이틀 .setContentText(context.getResources().getString(R.string.message) ) //노티바에 표시된 Description .setAutoCancel(true) //클릭하게 되면 사라지도록... .setVibrate(new long[] { 1000, 1000 }) //노티가 등록될 때 진동 패턴 1초씩 두번. .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE); //노티가 등록될 때 사운드와 진동이 오도록, 기본 사운드가 울리도록. /** * 두 손가락으로 드래그 했을 때 표시된 컨텐츠를 설정한다. */ BigPictureStyle bigPictureStyle = new NotificationCompat.BigPictureStyle(builder); //상단의 빌더를 인자로 받음.. Bitmap bigPictureBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.i_hero); //드래그 후 공간에 표시할 이미지. bigPictureStyle.bigPicture(bigPictureBitmap) //상단의 비트맵을 넣어준다. .setBigContentTitle(context.getResources().getString( R.string.big_title) ) //열렸을때의 타이틀 .setSummaryText(context.getResources().getString( R.string.big_message) ); //열렸을때의 Description
위와 같이 설정을 하게 되면 기존에 드래그해도 반응이 없던 노티가
아래로 커지면서 큰이미지를 표시하게 된다.
혹시...이해가 잘안된다면 아래 샘플을 참고..
'Programming > Android' 카테고리의 다른 글
[Android] 클릭 이벤트를 뒤에 배치된 레이아웃에 전달되지 않게 하기 (0) | 2015.11.27 |
---|---|
[Android] 앱 캐시 제거(Webview 등) (0) | 2015.04.27 |
[Android] drawable 리소스를 비트맵으로 변환. drawable resource to bitmap (0) | 2014.12.26 |
[Android] 사진 저장 후 갤러리에 보이지 않는 경우-MediaScanner (5) | 2014.07.25 |
[Android] 사진 저장 후 갤러리에 보이지 않는 경우. (0) | 2014.07.25 |