안드로이드 ProgressBar 배경
안드로이드 ProgressBar 배경은 일반적인 안드로이드 레이아웃에서 설정하는 것과는 약간의 차이가 있습니다. 하지만 ProgressBar 배경 설정하는 것도 그리 어려운 것이 아니니 슬퍼하지는 마세요.
구현 방법에 따라 달라지겠지만 저는 일단 아래와 같이 파일을 구성하도록 하겠습니다.
1. ProgressBar 레이아웃 ( res/layout/progressbar_test.xml )
2. ProgressBar 배경 레이아웃 ( res/drawable/progressbar_custom.xml )
3. ProgressBar에 적용될 색상 ( res/values/colors.xml )
res/layout/progressbar_test.xml
<LinearLayout
android:layout_marginTop="10dip"
android:layout_marginLeft="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ProgressBar
android:id="@+id/studi_progress"
style="?android:attr/progressBarStyleHorizontal"
android:progressDrawable="@drawable/progressbar_custom"
android:layout_width="200dp"
android:layout_height="15dp" />
</LinearLayout>
기본 화면 구성과 동일합니다.
가로로 구성하기 위해 style에 속성을 주었습니다.
ProgressBar에서 색상을 주기 위해서는 위의 붉은 색처럼 아래에 만든 xml을 적용하시면 됩니다.
res/drawable/progressbar_custom.xml
<?xml version="1.0" encoding="UTF-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/progress_bg" android:id="@android:id/background"> </item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9900"
android:centerColor="#ffcc00"
android:endColor="#ff9900"
android:centerY="0.75"
android:angle="270" />
<stroke
android:width="3dp"
color="#000000" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</clip>
</item>
</layer-list>
검은색 으로 되어 있는 android:id="@android:id/background" 라는 부분이 들어 가야지만 해당 ProgressBar의 배경에 색상이 적용됩니다.
붉은색부분도 반드시 체크해 주시구요. 파란색 (clip) 아랫 부분이 이제 ProgressBar에서 색상 적용부분입니다. 제가 일부러 두가지로 해두었습니다.
검은색으로 되어 있는 배경은 색상을 주기 위해 아래에 작성한 colors.xml 에서부터 읽어온 녀석이구요 붉은색 아래 부분은 좀더 있어 보이게 하기위해 이러저러한 잡다한 녀석들을 추가 했네요.
참고하시면 되겠습니다.
res/values/colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="progress_bg">#ffffff</color>
</resources>
색상 적용부분이네요. 크게 문제될 것이 없으니 넘어 갑니다. ㅎㅎ
잘보셨는지요. 그리 어려운것이 아니니 한두번 테스트 해보시면 아마 금방 이해 하실 겁니다.
궁금하신건 언제든지 방명록에 남겨주세요.
'프로그래밍 > 안드로이드' 카테고리의 다른 글
토스트 알림(Toast Notifications) (3) | 2012.08.23 |
---|---|
[안드로이드/Android] 안드로이드 노티피케이션(Notifications) (5) | 2012.08.22 |
안드로이드 타이틀바 없애기 (0) | 2012.08.17 |
안드로이드 리스트뷰 비트맵 성능 최적화 (4) | 2012.08.15 |
안드로이드 비트맵 drawable 간에 변환하기 (3) | 2012.08.13 |
[안드로이드/Android] 안드로이드 다이얼로그 TimePicker, DatePicker (5) | 2012.07.20 |
안드로이드 버튼 기본 디자인에 대해.. (11) | 2012.07.16 |
민궁디아빠님 안드로이드 질문에 대한 답변입니다. (3) | 2012.07.02 |
[안드로이드/Android] 안드로이드 SurfaceView (80) | 2012.06.19 |