2013-03-10 2 views
1

채팅 메시지 화면의 버튼 인 ActionBar 아이콘이 있습니다. 두 장의 아이콘이 있습니다. 하나의 표준 회색과 하나의 노란색.깜박임 작업 표시 줄 아이콘

메시지 대기 중임을 나타내는 노란색 아이콘이 표시되면 느리게 깜박이기를 원합니다.

작업 표시 줄 아이콘으로 가능합니까?

+0

'아이콘'을 말하면 무엇을 의미합니까? 이 액션 바의 어느 부분에 앉아 있습니까? 스크린 샷을 게시 할 수 있습니까? –

+0

작업 표시 줄의 오른쪽에있는 표준 작업 표시 줄 메뉴 아이콘 (또는 버튼 또는 메뉴 항목 중 올바른 용어). –

답변

1

MenuItem의 setIcon 메서드를 사용해 볼 수 있습니다. Drawable을 사용하기 때문에 느린 플래시 효과를 얻기 위해 AnimationDrawable을 사용할 수 있습니다.

+0

좋은 제안이지만, 불행히도 이것은 작동하지 않습니다. AnimationDrawable을 MenuItem으로 설정하려고 시도하고 onCreateOptionsMenu()에서 애니메이션을 시작했습니다. 나는 그것에 대해 갈 수있는 유일한 방법은 약간의 고통을 사용자 정의 ActionProvider 클래스를 만드는 것입니다 생각합니다. –

+0

시도한 코드를 게시 할 수 있습니까? –

1

나는 아마 안드로이드에 새로운 사람이지만 어쩌면 누군가/누군가가 나를 고칠 것을 도울 것입니다.

"invalidateOptionsMenu();를 실행하는 주기적으로 실행되는 500ms 타이머가 있습니다. 이렇게하면 메뉴가 다시 그려지는데, 일단이 상황이 발생하면 내부에있는 아이콘을 숨기거나 표시합니다. 아래에서 '신호 없음'아이콘이 깜박입니다. 원하는 플래시 기간에 타이머를 설정하십시오.

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    getMenuInflater().inflate(R.menu.menu, menu); 

    if(!AppStates.InternetAvailable || !AppStates.ServerContactable) 
    { 
     if(!NoSignalFlashState) NoSignalFlashState=true; 
     else NoSignalFlashState=false; 
     menu.findItem(R.id.ActionNoSignal).setVisible(NoSignalFlashState); 
    } 
    else menu.findItem(R.id.ActionNoSignal).setVisible(false); 

    super.onCreateOptionsMenu(menu); 

    return true; 
} 
관련 문제