2013-04-29 29 views
10

Tôi có một SeekBar sẽ thay đổi tiến trình khi tôi yêu cầu, nhưng tôi không muốn người dùng có thể thay đổi nó theo cách thủ công.Tắt các thay đổi trên thanh tìm kiếm của khách hàng

Tôi cố gắng để thiết lập các SeekBar như thế này:

<SeekBar 
     android:id="@+id/seekBar1" 
     android:layout_width="match_parent" 
     android:layout_height="65dp" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="78dp" 
     android:progress="10" 
     android:max="100" 
     android:clickable="false" 
     android:thumb="@drawable/transparent" 
     android:progressDrawable="@drawable/customprogressbar" /> 

Nhưng nó không hoạt động.

Làm thế nào tôi có thể làm điều này?


Đây là ví dụ về cách khách hàng sẽ nhìn thấy điều này.

Tôi đã sử dụng kiểu tùy chỉnh vì trong tương lai tôi cần phải thay đổi hình nền và tiến trình tùy thuộc vào phần mà SeekBar sẽ sử dụng.

Cảm ơn tất cả!

No given description by asker

+0

Sử dụng ProgressBar? –

+0

Dupe: http://stackoverflow.com/questions/4136569/how-to-set-an-android-seekbar-to-be-unmoveable-frozen – greg7gkb

+0

Bản sao có thể có của [Cách đặt Android SeekBar thành không thể nén/cố định ?] (http://stackoverflow.com/questions/4136569/how-to-set-an-android-seekbar-to-be-unmoveable-frozen) –

Trả lời

18

Một điều bạn có thể làm là để vô hiệu hóa các seekbar, Giống như seekbar.setEnabled(false)

làm như vậy khuôn khổ sẽ không chấp nhận bất kỳ sự kiện cảm ứng từ người dùng và bạn có thể thay đổi mức độ tiến bộ chỉ qua mã .

Tôi hy vọng điều này sẽ giúp bạn .......

+0

Mặc dù bạn có thể muốn bao gồm một tùy chỉnh drawable như thiết lập seekbar để bị vô hiệu hóa sẽ thay đổi giao diện của thanh tìm kiếm. – dberm22

+1

@Arjun, tôi đã thử nghiệm những gì bạn sugest tôi, và nó hoạt động;) Cảm ơn! – Shudy

+0

Tôi muốn thanh tìm kiếm chỉ có thể di chuyển bằng ngón tay cái và tắt nhấp chuột. làm thế nào để làm nó ? –

27

Bạn có thể sử dụng android: enabled = "false", nhưng nó sẽ hiển thị vô hiệu hóa tác dụng [tối seekbar của bạn].

Vì vậy, nếu bạn muốn hiển thị thanh tìm kiếm cho phép không có phản ứng với hoạt động ngón tay cái, hãy triển khai trình xử lý sự kiện chạm với trả về true như được hiển thị bên dưới.

seekBar.setOnTouchListener(new OnTouchListener(){ 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    return true; 
} 
}); 
1

Chỉ cần trả về false từ phương thức onTouch của lớp CustomSeekBar.

Hy vọng công trình này hoạt động!

Các vấn đề liên quan