티스토리 뷰
Android Googlemap의 Marker에 깜빡이는 애니메이션 효과를 주고싶어 직접 구현했습니다.
먼저 전체적인 코드를 보시겠습니다.
/*마커 깜빡임을 구현하는 함수*/ //직접구현
public boolean fadeMarker(final Marker marker) {
//Make the marker fade
final Handler handler = new Handler();
handler.post(new Runnable() {
float f;
int i = 2;
int timer;
@Override
public void run() {
if(i%2 == 0)
{
f = 1f;
}
else
f = 0f;
marker.setAlpha(f);
i++;
timer = timer + 300;
if(timer < RECOMMEND_MARKER_SHOW_TIME){
handler.postDelayed(this, 300);
}
else marker.remove();
}
});
return true;
}
구현원리는 0.3초마다 alpha값을 0과 1로 바꾸어가면서 깜빡이는 것 처럼 보이게 효과를 만들었습니다.
if(i%2 == 0)
{
f = 1f;
}
else
f = 0f;
marker.setAlpha(f);
i++;
이 부분을 보면 알 수 있겠지만 i = 2로 시작을 하고 i가 짝수이면 marker의 alpha값이 1 // i가 홀수이면 marker의 alpha값을 0으로 바꾸어줍니다. 그리고 루틴이 한번 돌때마다 i를 1씩 증가시켜서 깜빡이는 효과를 만드는것입니다.
timer = timer + 300;
if(timer < RECOMMEND_MARKER_SHOW_TIME){
handler.postDelayed(this, 300);
}
else marker.remove();
또 저는 마지막에 RECOMMEND_MARKER_SHOW_TIME보다 작을때까지는 계속 깜빡이는 효과를 주다가 그 이상의 시간이되면 marker를 지워버리는 효과를 추가해주었습니다.
만약 마커가 지워지지 않고 계속 유지되어야 한다면
handler.postDelayed(this, 300);
postDelayed를 통해서 0.3초 후에 다시 handler를 시작해주어서 반복적인 효과를 주시면 되겠습니다.
마커에 강조효과를 주고싶을때 뛰어난 효과를 발휘합니다 :)
'개발 > Android' 카테고리의 다른 글
[Android] / 안드로이드 / googlemap distance / 구글맵 두 위치 사이의 거리 구하기 (0) | 2016.11.16 |
---|---|
[Android] / 안드로이드 / SoundPool 사용법 / How can Use SoundPool / (0) | 2016.11.09 |
[Android] / 안드로이드 / OS version check / OS버전 체크 / OS별로 분기 (0) | 2016.10.27 |
[Android] / 안드로이드 / textView 부분색상 바꾸기 / text color / 텍스트 부분색 바꾸기 (1) | 2016.10.19 |
[Android] / 안드로이드 / HttpPost 한글 깨짐 현상 (0) | 2016.10.12 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Android Studio
- play service
- dependencies
- Marker
- jQuery
- 코드 넣기
- Android
- 개발
- GoogleAnalytics
- titlebat
- comma
- 코드
- development
- 앱
- 소스코드
- zindex
- Google Analytics
- 안드로이드
- imagesize
- Google Map
- 마커
- 코드삽입
- imageButton
- 구글맵
- 개발자
- 깜빡임
- googlemap
- JavaScript
- GOOGLE PLAY
- SyntaxHighlighter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함