2012-09-07 1 views
3

일부 조사를 수행했으며 확장 상태 표시 줄 영역에 진행률 표시 줄을 표시 할 수 있지만 애니메이션 아이콘이 있는지 여부는 아직 알 수 없습니다. 가능하거나 없습니다. 이 질문에 대한 답변을 시도했습니다 : Animation in Notification bar Custom View. 그러나 아이콘은 애니메이션으로 표시되지 않습니다. 가능하지 않은 경우이를 확인하는 문서를 알려줄 수 있습니까? 미리 감사드립니다. 알림 창에서 애니메이션 아이콘을 만들 수 있습니까? (Android)

+0

이 작업을 수행하는 방법을 모르지만이 작업을 수행하는 응용 프로그램의 예는 Podkicker입니다. 오프라인으로 듣기 위해 파일을 다운로드하면 애니메이션이 재생됩니다. 이러한 도움이 필요합니까? http://stackoverflow.com/questions/9216616/animation-in-status-bar-in-android http://stackoverflow.com/questions/4688052/animation-in-notification-bar-cutsom-view – Jim

+0

Podkicker를 확인 중이 야. 어쨌든, 당신이 추천 한 의문은 내가 원하는 것과 다릅니다. 이 질문은 사실 ImageView의 애니메이션에 관한 것입니다. – patrick

+0

@ 짐 Podkicker를 확인했습니다. 그것은 내가 원하는 것과 같지 않다. 내 요구 사항은 확장 상태 표시 줄 영역 (사용자가 알림 표시 줄을 끌어 올 때 표시됨)에있는 애니메이션 아이콘입니다. 어쨌든 고마워. – patrick

답변

2

참조 된 질문 (내가 보았던 링크 중 하나와 동일하지 않은 것으로 인정함)의 비디오에 애니메이션 아이콘이 명확하게 표시되어 있습니다. 0시 35 분경. http://www.youtube.com/watch?v=yNcs-sS2nFU&t=0m32s (이 링크는 해당 부분으로 건너 뜁니다). 화살표에는 검은 선이 반복적으로 내려와 있습니다. 나에게 애니메이션처럼 보인다. 너가 원하는게 그거야?

어쨌든 Android 버전은 무엇입니까? 어쩌면 T-Mobile의 맞춤형 콘텐츠 일 수도 있습니다. 잘 모르겠습니다. YouTube의 일부 동영상 일뿐입니다.

알림에 대한 맞춤보기를 만들 수 있습니다 (예 : http://www.roman10.net/android-custom-notification-with-progress-bar/). animation drawable (다시 이와 동일한 질문)과 유사한 아이디어를 사용할 수 있습니다. 여기서 Roman10에는 기본 Android 이미지가 있습니다.

RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.noti); 
contentView.setImageViewResource(... your animated resource ...); 

편집 그래서 최종 리모트 뷰 RemoteViews에 지금까지 내가 말할 수있는 이미지 리소스에 애니메이션을 지원하지 않습니다. 하지만 난 그 주위를 해결하는 방법을 알아 냈고 아마도 비싸지 만, CPU 사용법을보기 위해 프로파일을 작성하지 않았습니다.

나는 roman10 (위 링크)에서 코드로 시작하여 몇 가지 수정을했습니다.

yinyangAnim.xml + 애니메이션 프레임 .PNG 파일

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> 
    <item android:drawable="@drawable/yinyang0" android:duration="150" /> 
    <item android:drawable="@drawable/yinyang1" android:duration="150" /> 
    <item android:drawable="@drawable/yinyang2" android:duration="150" /> 
    <item android:drawable="@drawable/yinyang3" android:duration="150" /> 
    <item android:drawable="@drawable/yinyang4" android:duration="150" /> 
    <item android:drawable="@drawable/yinyang5" android:duration="150" />  
</animation-list> 

시작 버튼 클릭에 다른 스레드의 생성을 추가

 ImageView yinyang = new ImageView(this); 
    yinyang.setBackgroundResource(R.drawable.yinyang_anim); 
    yinyangAnimation = (AnimationDrawable) yinyang.getBackground(); 
) (ProgressBarNotificationActivity.onCreate에 추가

   new Thread(new Runnable() { 
        public void run() { 
         int frameIndex = 0; 
         mRun = true; 
         while (mRun) { 
          ++frameIndex; 
          SystemClock.sleep(100); 
          BitmapDrawable frame = (BitmapDrawable) yinyangAnimation.getFrame(frameIndex); 
          noti.contentView.setImageViewBitmap(R.id.status_icon, frame.getBitmap()); 
          nm.notify(STATUS_BAR_NOTIFICATION, noti); 
          if (frameIndex >= yinyangAnimation.getNumberOfFrames()-1) { 
           frameIndex = 0; 
          } 
         } 

        } 
        }).start(); 

물론 개인 변수 : private AnimationDrawable yinyangAnimation;

앱의 시작 버튼을 누르고 알림을 보면 나를 위해 회전하는 음양이 표시됩니다. loadinfo.net에서 yin-yang을 얻었고 ImageMagick 명령 줄 (우분투)을 사용하여 분할했습니다.

+0

답변 해 주셔서 감사합니다. 동영상의 아이콘이 실제로 움직입니다. 그러나, 나는 당신의 대답을 따라 갔지만 아직도 그것을 얻을 수 없습니다. 내가 추천 한 프로젝트를 포크하고 제안한대로 애니메이션 부분을 추가했습니다. 내 코드는 https://github.com/pt2121/roman10-android-tutorial/tree/master/ProgressBarNotification입니다. 내 애니메이션 코드는 ImageView에서는 제대로 작동하지만 RemoteViews (StatusBar)에서는 정상적으로 작동하지 않습니다. 내가 무엇을 놓쳤는 지 잘 모르겠다. – patrick

+0

나는 또한이 답변을 http://stackoverflow.com/questions/4688052/animation-in-notification-bar-cutsom-view 시도했습니다. 나는 그것을 작동시킬 수 없다. 코드가 효과가 있다면 예제 프로젝트를 공유 할 수 있습니까? 감사합니다. – patrick

+0

그것은 작동합니다. 감사. 알림이 반복적으로 전송되므로 비용이 많이 드는 것으로 생각되지만 답변을 수락했습니다. – patrick

관련 문제