게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
android)진행률에 따른 프로그레스 색 변경해보기
게시물ID : programmer_13496짧은주소 복사하기
작성자 : 아칸소
추천 : 7
조회수 : 3531회
댓글수 : 2개
등록시간 : 2015/09/24 02:07:39
옵션
  • 창작글

아래 안드로이드 질문글을 보고 호기심이 생겨 프로그레스 바를 바꾸는 법을 찾아봤습니다.

http://stackoverflow.com/questions/9837843/change-the-color-of-a-seekbar-on-onprogresschanged

위의 글의 코드대로 프로그레스바의 ProgressDrawable을 불러와서 적용하였고  첨부한 동영상대로 작동하는것을 확인하였습니다.

동영상에서 위의 프로그레스바는 위 링크글의 소스 그대로 넣은 코드이고, 아래 프로그레스바는 입력값의 25%마다 색을 변경하도록

한 프로그레스바 입니다.

AsyncTask를 이용해서 소스를 작성해보면

source1.jpg
source2.jpg

위 코드에서 핵심이 되는 코드는 제목에서 밝혔듯 프로그레스바의 색을 변화시켜주는 setProgressBarColor 함수입니다. 프로그레스바를 받아 

프로그레스바의 ProgressDrawable의 Layer를 다시 재정의 해서 색을 변경시켜주는 역할을 합니다. 이 함수가 동작하기 위해서는 res > drawable 폴더에

source3.jpg

를 만들어 넣고 레이아웃에서 ProgressBar의 progressDrawable로 설정해주셔야 합니다. 이렇게 하면 프로그레스바의 배경을 투명처리하고

progressshape라 명명한자리에 사용자가 변경할 모양을 덮어씌워 주는데요, 프로그레스가 갱신되고 사용자가 설정한 색으로 변경된것처럼

프로그레스바가 그려지게 됩니다.

여기까지가 오유에 쓰는 첫글이 된 일반적인 레이아웃에 명시적으로 적용된 프로그레스바의 색을 변경하는 방법이었습니다.

읽어주셔서 감사합니다.
출처 http://stackoverflow.com/questions/9837843/change-the-color-of-a-seekbar-on-onprogresschanged
이외 본인
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호