làm cách nào tôi có thể nhận được giá trị từ 0,0 đến 2,0 với seekbar
? các giá trị phải theo các bước 0.5 (0.0, 0.5, 1.0, 1.5, 2.0) ai đó có thể giúp tôi không?Giá trị float của Android Seekbar từ 0.0 đến 2.0
Trả lời
SeekBar kéo dài ProgressBar.
ProgressBar có một phương pháp
public void setMax(int max)
Vì nó chỉ chấp nhận int bạn sẽ phải làm một số chuyển đổi từ một giá trị int để có được phao mà bạn đang theo đuổi.
Something như thế này nên làm như lừa:
mSeekBar.setMax(4);
//max = 4 so the possible values are 0,1,2,3,4
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
{
// TODO Auto-generated method stub
Toast.makeText(seekBar.getContext(), "Value: "+getConvertedValue(progress), Toast.LENGTH_SHORT).show();
}
public void onStartTrackingTouch(SeekBar seekBar)
{
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar)
{
// TODO Auto-generated method stub
}
});
Phần này sẽ được ở onCreate() và bạn sẽ phải sử dụng findViewById() hoặc một cái gì đó để có được một tài liệu tham khảo để mSeekBar.
public float getConvertedValue(int intVal){
float floatVal = 0.0;
floatVal = .5f * intVal;
return floatVal;
}
Phần này là một phương pháp khác mà bạn có thể thêm vào Hoạt động sẽ chuyển đổi từ int sang giá trị nổi trong phạm vi bạn cần.
Bạn nên thực hiện tùy chỉnh của riêng bạn tìm kiếm thanh, làm cho nó nhảy giữa các giá trị mong muốn và dính vào họ, bạn có thể tìm thấy thông tin hữu ích ở đây:
Đó giao dịch câu hỏi nhiều hơn với tùy biến giao diện của SeekBar chứ không phải là chức năng của các giá trị mà có thể xảy ra. Để có được hiệu quả mà OP là sau khi không cần phải thực hiện một thanh tìm kiếm tùy chỉnh. Chỉ cần chuyển đổi từ int sang float cho phạm vi giá trị mà chúng cần. – FoamyGuy
Tôi không cần bố cục tùy chỉnh, tôi cần làm điều đó theo lập trình và tôi cần một ví dụ:/ – kosma822
textView.setProgress(0);
textView.incrementProgressBy(1);
textView.setMax(4);
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
float progressD=(float) progress/2;
textView.setText(String.valueOf(progressD));
// 0-2 bước 0,5
- 1. Giá trị tối thiểu của Android SeekBar
- 2. Capture giá trị SeekBar
- 3. Android SeekBar đặt giá trị tiến độ
- 4. Android SeekBar đánh dấu các giá trị
- 5. javascript float từ/đến bit
- 6. Thay đổi kích thước của Android-Seekbar?
- 7. Android: SeekBar Increment Value - Cách
- 8. Android Audio SeekBar
- 9. Giá trị float cực đại trong php
- 10. Android SeekBar setOnSeekBarChangeListener
- 11. Android Xóa nền SeekBar
- 12. Cùng một giá trị cho id (float)
- 13. Thêm hai mảng giá trị float trong Haskell
- 14. Android SeekBar setProgress đang khiến MediaPlayer của tôi bỏ qua
- 15. Anorm phân tích cú pháp float giá trị
- 16. Giá trị của CXX trong một makefile đến từ đâu?
- 17. std :: default_random_engine tạo ra các giá trị giữa 0.0 và 1.0
- 18. Tuỳ chỉnh SeekBar drawable Android
- 19. Truyền giá trị từ PhantomJS đến node.js
- 20. Điều khiển trượt trong Android ... là tùy chọn SeekBar thực sự tốt nhất của tôi?
- 21. không thể truyền giá trị dưới dạng float
- 22. Làm thế nào để chuyển đổi chuỗi thành giá trị float trong android
- 23. So sánh 2 giá trị float trong sqlserver
- 24. tìm giá trị nhỏ nhất trong một mảng float
- 25. Android SeekBar Lật theo chiều ngang
- 26. tại sao f được đặt sau giá trị float?
- 27. HBRUSH đến giá trị RGB
- 28. Android SeekBar Tùy chỉnh ngón tay cái
- 29. Giá trị của android: backgroundDimAmount có nghĩa là gì?
- 30. Cách chuyển các giá trị mảng đến và từ Android RenderScript bằng cách sử dụng Allocations
tốt, cảm ơn !! bây giờ tôi cần phải thiết lập tiến độ seekbar, nhưng chức năng .progress chỉ chấp nhận giá trị int, làm thế nào tôi có thể chuyển đổi float để int trong dự án này? – kosma822
@ kosma822 bạn sử dụng phương thức setProgress (int). Khi bạn gọi nó, nó sẽ lần lượt gọi phương thức onProgressChange() trong trình nghe của bạn mà sẽ thực hiện chuyển đổi để nổi cho bạn với phương thức đó là đoạn mã thứ hai trong câu trả lời của tôi. Chỉ cần thay đổi bánh mì nướng trong ví dụ của tôi để bất cứ điều gì nó là bạn muốn làm với giá trị float. – FoamyGuy