안드로이드 개발 질문/답변
(글 수 45,052)
progress bar 대한 궁금증을 올립니다.
다른 view 들은 색상을 정하는데 어렵지 않는데
이건 찾지를 못하겠네요
layout에서 progressbar drawable인가 있어서
값을 넣으니~ 프로그래스 되는 것은 안보이고
단지 한색으로 다 칠해저 있네요~~
그렇다면 제가 생각하는 뒤 progress 와 앞의 progress 가
따로 구분 되어있는것이 아닌건가요~??
아니면 drawable 가 단지 색상이 아닌 다른 xml파일을 만들어야하는것인가요??
너무 어렵네요~
다른 view 들은 색상을 정하는데 어렵지 않는데
이건 찾지를 못하겠네요
layout에서 progressbar drawable인가 있어서
값을 넣으니~ 프로그래스 되는 것은 안보이고
단지 한색으로 다 칠해저 있네요~~
그렇다면 제가 생각하는 뒤 progress 와 앞의 progress 가
따로 구분 되어있는것이 아닌건가요~??
아니면 drawable 가 단지 색상이 아닌 다른 xml파일을 만들어야하는것인가요??
너무 어렵네요~
2009.05.25 21:34:28
그냥 단순히 일반 drawable을 넣었으면 제대로 안되는 것이 맞습니다. ProgressBar를 위해서는 LayerDrawable을 넣어야 합니다. progress_horizontal.xml은 다음과 같이 구성되어있습니다. 참고하시어 아래와 동일한 세개의 id를 가지는 LayerDrawable을 만드시면 될듯 합니다. 저도 실제로 커스터마이징 해본적은 없어서 자세히는 설명 못드리겠네요.
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@android:id/background"> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#ff9d9e9d" android:centerColor="#ff5a5d5a" android:centerY="0.75" android:endColor="#ff747674" android:angle="270" /> </shape> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#80ffd300" android:centerColor="#80ffb600" android:centerY="0.75" android:endColor="#a0ffcb00" android:angle="270" /> </shape> </clip> </item> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="5dip" /> <gradient android:startColor="#ffffd300" android:centerColor="#ffffb600" android:centerY="0.75" android:endColor="#ffffcb00" android:angle="270" /> </shape> </clip> </item> </layer-list>
여기 저기 찾아다니 다가 drawable 의 xml 을 하나 찾았습니다.
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:pivotX="50%" android:pivotY="50%"
android:fromDegrees="0" android:toDegrees="360">
<shape
android:shape="ring"
android:innerRadiusRatio="3"
android:thicknessRatio="8"
android:useLevel="false">
<size
android:width="76dip"
android:height="76dip"
/>
<gradient
android:type="sweep"
android:useLevel="false"
android:startColor="#4c737373"
android:centerColor="#4c737373"
android:centerY="0.50"
android:endColor="#ffffd300"
/>
</shape>
</rotate>
저는 horizontal progressbar 를 사용하고 있습니다.. 즉,,,원형으로 돌아가는 progress 의 일부분만
보고 있는 거죠~~
그래서 다시 관련 된것을 찾아보고 있는 중입니다.
애니메이션 관련은 정보가 있지만..
정확한 말은 없더군요~~
회색님 좀 알려 주시겠어요~