안드로이드 개발 질문/답변
(글 수 45,052)
SeekBar 사용시
프로그래스의 현재위치까지 진행색상이 표시되는데여
이것 표시안되게할수없을까요?
아니면 진행색상을 배경색하고 같게만들수는없는지...
그러니까
저는 시크바에서 움직이는바 의움직임만 셋팅하고싶은겁니다
2012.01.09 12:31:08
잘됩니다
감사합니다
질문하나더...
배경말고 움직이는바 의색상은 어떻게설정할수있나요?
바의 모양까지 변경할수있으면 금상첨화인뎅...
그리고 Drawable 에대한 객체생성이나 그리기등의 작업에관한 강좌있으면 소개부탁합니다
처음알게되었는데 꼭 배워야될부분인것같습니다
좋은하루되십시요
2012.01.09 17:34:27
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- background -->
<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>
위에 것은 ProgressBar와 SeekBar가 공통으로 쓰는 progressDrawable xml 파일 내용입니다.
소스 보시면 알겠지만 모양, 색상 모두 변경이 가능합니다.
이런 부분에 대해서는 Android Developers 사이트만 가도 잘 나와있습니다.
http://developer.android.com/guide/topics/resources/drawable-resource.html




progressDrawable을 설정해 주어야 합니다.
안드로이드 기본으로 설정된 것은 배경과, 프로그레스 값에 의한 색이 칠해지는 것이 함께 정의 되어 있습니다.
(안드로이드 sdk에서 기본 리소스 확인해 보시면 나옵니다.)
이것을 배경만 있게 따로 만드시면 됩니다.
seekbar_bg.xml 이런 파일을 drawable 폴더에 만드시고 xml 내용은
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dip" />
<gradient
android:startColor="#ff9d9e9d"
android:centerColor="#ff5a5d5a"
android:centerY="0.75"
android:endColor="#ff747674"
android:angle="270" />
</shape>
이렇게 하시면 기본 seekbar의 배경입니다.
레이아웃 xml에서 android:progressDrawable="@drawable/seekbar_bg" 속성을 주시거나
소스상에서 SeekBar.setProgressDrawable()을 해주시면 됩니다.