Tôi đã tùy chỉnh SeekBar của mình - tôi sử dụng hình ảnh tùy chỉnh làm nền và hình ảnh tùy chỉnh làm ngón tay cái (How to create custom layout for seekbar in android? & How to customize the look of a SeekBar in Android?).Tùy chỉnh tìm kiếm - cách định vị đúng hình ảnh "ngón tay cái" tùy chỉnh?
Ý tưởng là để thực hiện một SeekBar trông giống như những người thân trong hình ảnh này:
Tôi muốn có hình ảnh ngón tay cái vừa vặn vào thanh tròn khi giá trị progress
được thiết lập ở mức 0 hoặc 100 (trong số 100).
Để xác định vị trí ngón tay cái một cách chính xác (ví dụ: không chồng chéo hai đầu của thanh) Tôi đã thiết lập các paddingLeft
& paddingRight
giá trị cho chính xác một nửa chiều rộng chiều rộng ngón tay cái (Android: Seekbar doesn't scroll all the way to end).
.../res/layout/main.xml:
<SeekBar android:id="@+id/frequency_slider"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100" android:progress="0"
android:progressDrawable="@drawable/seekbar_no_visible_progress"
android:thumb="@drawable/seekbar_thumb" <!-- this is an image -->
android:background="@drawable/hos_bar" <!-- this is an image -->
android:paddingLeft="24dp"
android:paddingRight="24dp">
</SeekBar>
này hoạt động trong Android 2.1.
Trong Android 2.2 này tạo ra một hiệu ứng khác nhau:
Sau khi điều tra thêm (và cố gắng điều này với một hoàn toàn mặc định SeekBar
Tôi đã tìm thấy rằng vị trí của hình ảnh ngón tay cái đã thay đổi từ 2,1 sang 2,2. Việc hack của tôi về việc thay đổi paddingLeft
& paddingRight
không phải là vấn đề.
- Trong 2.1, ngón tay cái được đặt ở giữa đầu thanh, với một nửa ngón tay cái trên thanh và một nửa trên thanh.
- Trong 2.2, ngón tay cái được đặt trong thanh, không có bất kỳ chồng chéo nào. Do đó cách kỳ lạ các giá trị đệm ảnh hưởng đến kết quả. Đây là những gì tôi đã cố gắng để đạt được, nhưng khi sử dụng một ngón tay cái tùy chỉnh, hiệu ứng này không còn hoạt động theo cùng một cách.
Tôi nghĩ tôi cần phải thực hiện một lớp tùy chỉnh java để xử lý loại điều. Trong câu hỏi này (Possible to do rounded corners in custom Progressbar progressDrawable?), nhà phát triển sử dụng ClipDrawable
để tạo thanh tiến trình bình thường.
Tôi sẽ sử dụng loại đối tượng có thể kéo nào và cách đặt ngón tay cái của tôi đúng cách?
cảm ơn. Tôi đã cập nhật câu hỏi của mình. Hiệu ứng mà tôi không muốn vẫn còn (cũng trên tiêu chuẩn SeekBar). Tôi muốn các hình ảnh ngón tay cái để phù hợp độc đáo vào mỗi đầu tròn của thanh, khi giá trị tiến độ được đặt thành 0 hoặc tối đa. –