JooTC
android-card-1908-purple

[안드로이드/JAVA] ProgressBar 색상 변경하기

안드로이드에서는 머터리얼 디자인프로그레스 바(로딩 바)xml로 간단히 구현할 수 있습니다. 여기서 프로그레스 바의 색상을 수정하려 하니 Backgroundcolors에 관한 특별한 설정이 없어서 제동이 걸리는 경우가 있습니다.

ProgressBar의 색상을 변경하려면 어떻게 해야 할까요?

안드로이드 ProgressBar 색상 변경 방법

핵심은 다음의 간단한 코드입니다. xml 파일에서 ProgressBar의 속성에 indeterminateTint 값을 지정해주시면 됩니다.

android:indeterminateTint="@color/colorPrimary"

여기서 @color/colorPrimaryres/colors.xml 파일에 이미 지정되어있는 값입니다. 해당 파일에는 다음과 같이 선언되어 있을 것입니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#0D63F8</color>
</resources>

이렇게 따로 미리 지정된 값을 만드는 것이 권장되지만 indeterminateTint 값에 #0D63F8 값을 직접 넣어도 무방합니다.

만약 자바코드로 구현하고 싶은 경우 ProgresBar 객체에서 다음 메소드를 작성해줍니다.

progressBar.getIndeterminateDrawable().setColorFilter(
            getResources().getColor(R.color.colorPrimary),
            android.graphics.PorterDuff.Mode.SRC_IN);

getResources().getColor() 메소드는 res/colors.xml파일의 colorPrimary 컬러 값을 가져오도록 합니다. 복잡하지만 기억하면 차후에 유용할 것입니다.

참고자료

이 포스트가 도움이 되었나요?

댓글 남기기

avatar
error: 경고: 무단 콘텐츠 복사 및 사용을 금지하고 있습니다. 이해해주셔서 감사합니다.