2012-09-14 5 views
2

현재 이벤트를 통해 진행 상황을 사용자에게 알리기 위해 사용자 정의 상태 표시 줄 알림을 만들고 있습니다. 사용자 정의 알림이 제대로 작동하지만 진행률 표시 줄을 사용하면 contentView 필드를 통해 알림에 자체 RemoteView를 전달해야합니다.사용자 정의 상태 표시 줄 알림이있는 기본 아이콘 배경 얻기

이 레이아웃을 기본 레이아웃에서 벗어날 수 있기를 원하는 경우를 제외하면 괜찮습니다. API 10을 타겟팅하고 있으므로 진저 브레드와 ICS 모두에서 작동해야합니다. 진저 브레드는 괜찮습니다. 레이아웃의 왼쪽에 아이콘을 넣을 수 있고 알림은 다른 기본 아이콘과 잘 맞습니다. 그러나 ICS에서는 알림 아이콘의 왼쪽에 아이콘이있는 줄무늬 사각형이 표시됩니다 (실제로 UI "핸들"을 구성하여 알림을 스 와이프하여 닫을 수 있음을 나타냄).

아무도 내가 코드에서 기본 레이아웃을 얻은 다음 편집 (이건 remoteViews로 어렵다)하거나 어떻게 든 기본 레이아웃보기 (아마도 런타임 중)에 액세스 한 다음 복사하여 대체 할 수 있음을 알고 있습니다. 진행률 표시 줄에 대한 알림 텍스트?

답변

3

나는 사람들이 알림을 작성하고 레이아웃을 복제 한 예를 보았지만 그 중 어떤 것도 유용하게 사용하려면 레이아웃에 대해 많이 알아야합니다. 차라리 당신이 관심있는 안드로이드 버전에서 레이아웃 파일을 얻고 싶습니다. Here JB는 하나만 가지고 있습니다. 다른 것들을 찾는 데 문제가 없어야합니다.

+0

답장을 보내 주셔서 감사합니다. API 버전 별 코드를 사용하는 것이 나의 후퇴 였고, 내가해야 할 일이 그렇게 생겼습니다. 그것은 가능하지만 구글 애플 리케이션 (재생 및 브라우저 다운로드 등) 어떻게 든 그것을 할 수있다. – skyrift

+0

내가 말했듯이 레이아웃을 추출하는 예제를 보았지만 여전히 컴포넌트를 대체 할 레이아웃을 알아야합니다. 권리? 플랫폼 별 레이아웃을 사용하지 않는다고 생각하는 이유는 무엇입니까? 이것이 바로 작업 표시 줄 아이콘/메뉴 아이콘 및 상태 표시 줄 아이콘에 대한 작업입니다. –

0

맞춤 레이아웃을 원하는 유일한 이유는 진행률 막대를 얻는 것이므로 NotificationCompat.Builder.setProgress()을 볼 수 있습니다. 커스텀 통보 레이아웃을 가지고 노는 것보다 쉬울 것입니다. 맞춤 레이아웃을 사용하기로 결정했다면 API v14와 API v17 사이에서 약간만 변경되었으므로 허니컴에 대해 어떤 생각이 들지는 모르지만별로 다를 것은 없습니다. 즉, layout-v11 폴더와 기본 레이아웃 폴더에 하나의 사용자 정의 알림 레이아웃을 사용할 수 있어야하고 대부분의 경우를 잡을 수 있어야합니다 (아이콘 배경을 Honeycomb에서 위쪽으로, 그 부분은 아직 내 자신의 사용자 정의 알림에서 일하고있어) 두 가지 레이아웃 만 유지하면됩니다. 기본 레이아웃의 위치는 위의 대답을 참조하십시오. 이전 버전의 Android에서는 status_bar_latest_event_content.xml이라고합니다.

Honeycomb 이상에서 적어도 setProgress()를 사용할 수 있으며, 이전 버전에서도 작동하는 것처럼 보입니다. (문서에서는 다르게 말하지 않습니다.) 다른 어떤 것이 없으면 아마도 이것을 사용해야합니다. 맞춤 요구 사항.

관련 문제