본문 바로가기

JAVA/Android

(22)
[JAVA][Android] ProgressBar 부드럽게 증가/감소 시키기 : ObjectAnimator 활용 본 포스팅에서는 아래와 같은 안드로이드 ProgressBar에 애니메이션을 적용하여 부드럽게 증가/감소시키는 로직을 기록하겠다. ObjectAnimator를 이용하면 ProgressBar에 애니메이션을 적용시킬수 있다. private void setProgressAnimate(ProgressBar pb) { ObjectAnimator animation = ObjectAnimator.ofInt(pb, "progress", pb.getProgress(), (int) ((time+30*1000)/1000/1.2)); animation.setDuration(1000); animation.setInterpolator(new DecelerateInterpolator()); animation.start(); anim..
[JAVA][Android] 로컬 파일(png, webp 등)의 Uri 추출하기 이번엔 안드로이드 스튜디오 내부에 있는 리소스 파일의 Uri를 추출하는 로직을 정리해보겠다. 1. 로컬의 drawable 파일을 선언한다. 아래 drawable을 가공하여 Uri를 추출할 것이다. int drawable = R.drawable.icon_file; 2. Uri를 추출하는 메서드 작성 아래 메서드로 선언한 drawable파일을 보낼 것이다. public Uri getLocalImgUri(int localImgResId) { if(context == null) { LogUtil.e("test log", "context is null"); return null; } Uri webpUri = Uri.parse("android.resource" + "://" + mContext.getResource..
[JAVA][Android] webp 동영상(gif) 재생 횟수 정하기 개발 업무를 하다 보면 webp를 프레임 별 나누어진 이미지로 받는 경우도 있지만, 동영상 형태로 받는 경우가 있다. 만약 최초 1회만 재생해야 하는 경우 (스플래쉬, 1회성 모션 등) 아래와 같이 다른 옵션 없이 Fresco를 통해 재생하는 경우 무한 반복하여 재생하게 된다. DraweeController controller = Fresco.newDraweeControllerBuilder(){ ... //생략 simpleDraweeView.setController(controller); 이 포스팅에서는 webp의 재생 횟수를 명시해주기 위한 로직을 소개하려고 한다. 1. 첫 번째로는 DraweeController를 작성한다. 이 단계에서는 Fresco 객체를 생성하고, 이를 통해 drawable에 적용..
[JAVA][Android] CountDownTimer 작동과 일시정지/재시작 작업 목표 CountDownTimer 객체 하나를 가지고 반복적으로 일시중지/재시작 하기 이슈 경로 1. CountDownTimer를 전역으로 선언 2. 타이머 객체를 재시작하는 메서드를 하나 생성하여 내부에서 countDownTimer = new CountDownTimer 타이머 객체를 새로 생성함. (일시 중지하는 시점의 시간을 저장하는 것은 해결방안에 따로 기록하겠음) 3. 타이머를 일시 중지하는 로직은 if(countDownTimer!=null){ countDownTimer.cancel(); countDownTimer = null; } 위와 같이 작성하였음. 이슈 내용과 원인 타이머 객체를 전역으로 선언한 뒤 일시중지 할 경우 cancel 처리를 함에도 불구하고 타이머 객체가 초기화되지 않고, 재..