Nếu có bất kỳ chức năng Thư viện hỗ trợ nào có thể làm cho chức năng setCountDown
của bộ đếm thời gian hỗ trợ bằng API thấp hơn 24?Thư viện hỗ trợ cho Chronometer trong Android
Trả lời
Theo tài liệu Android, không thể thực hiện được với mức API bên dưới 24. Chronometer chỉ sử dụng tiện ích đếm ngược. Nếu bạn cần làm như vậy, hãy truy cập CountDownTimer.
Ví dụ:
final int oneSecond = 1000; // in milliSeconds i.e. 1 second
final int tenSeconds = 100000; // 100 seconds
CountDownTimer cTimer = new CountDownTimer(100000, oneSecond) {
public void onTick(long millisUntilFinished) {
int totalTime = 60000; // in milliseconds i.e. 60 seconds
String v = String.format("%02d", millisUntilFinished/totalTime);
int va = (int)((millisUntilFinished%totalTime)/oneSecond);
textView.setText("remaining seconds: " +v+":"+String.format("%02d",va));
}
public void onFinish() {
textView.setText("done!");
}
};
cTimer.start();
EDIT:
Nếu bạn muốn đi với GitHub Giải pháp thì có một cái nhìn tại this và this
Bạn có thể thử RXJava để đề xử lý đơn giản , bộ hẹn giờ và nhiều chức năng khác.
Các tài liệu cho các nhà điều hành hẹn giờ nói điều này:
Tạo một Quan sát mà phát ra một mục cụ thể sau khi một sự chậm trễ đưa
Như vậy hành vi mà bạn đang quan sát là timer expected-() phát ra chỉ một mục duy nhất sau một sự chậm trễ.
Toán tử khoảng thời gian, mặt khác, sẽ phát ra các mục được đặt cách nhau với một khoảng thời gian nhất định.
Ví dụ, Quan sát này sẽ phát ra một mục mỗi giây:
Observable.interval (1, TimeUnit.SECONDS);
Và một ví dụ hoàn chỉnh:
Observable.interval(1,TimeUnit.SECONDS, Schedulers.io())
.take(300) // take 300 second
.map(v -> 300 - v)
.subscribe(
onNext -> {
//on every second pass trigger
},
onError -> {
//do on error
},
() -> {
//do on complete
},
onSubscribe -> {
//do once on subscription
});
- 1. Thư viện hỗ trợ Android là gì?
- 2. Hoàn thànhFuture trong Thư viện hỗ trợ Android?
- 3. Thành phần chip trong thư viện hỗ trợ Android?
- 4. Sử dụng thư viện hỗ trợ trong các dự án và thư viện android (Android Studio)
- 5. Cách thêm thư viện hỗ trợ?
- 6. BetterPickers không có thư viện hỗ trợ
- 7. Thiết lập thư viện hỗ trợ Android với maven
- 8. Thư viện hỗ trợ thiết kế Android: NavigationView source code
- 9. Thư viện hỗ trợ Android 27, Cập nhật phân đoạn?
- 10. Thêm thư viện hỗ trợ vào dự án Android
- 11. Thư viện hỗ trợ Android nào được phát hành theo?
- 12. Android Studio - hiển thị vấn đề thư viện hỗ trợ
- 13. Renderscript qua thư viện hỗ trợ
- 14. NoClassDefFoundError với Thư viện hỗ trợ Android và Maven
- 15. Thư viện hỗ trợ Android hoạt động như thế nào?
- 16. nhập mới Android Design Hỗ trợ thư viện
- 17. build gradle Android và các thư viện hỗ trợ
- 18. IllegalStateException - Hỗ trợ Fragment thư viện
- 19. Sử dụng Hỗ trợ Thư viện Thiết kế trong Eclipse
- 20. Hỗ trợ thư viện cho đặc điểm NotNull của Scala
- 21. Hỗ trợ thư viện Máy Vector cho C#
- 22. getChildFragmentManager() và hỗ trợ thư viện
- 23. Tạo một chronometer trong Android
- 24. Hỗ trợ kiểm tra đơn vị Android không hoạt động trong mô-đun thư viện Android
- 25. lỗi sau khi cập nhật thư viện hỗ trợ
- 26. Thanh tác vụ Android cách thêm appcompat thư viện hỗ trợ v7 cho Eclipse
- 27. Thư viện hỗ trợ Android v7: Lỗi khi truy xuất phụ huynh cho mục
- 28. Cấu hình Proguard của Android cho Thư viện hỗ trợ v7 ActionBar
- 29. Thư viện hỗ trợ thiết kế Android 24.2.1 làm cho BottomSheet mở khi khởi động
- 30. Chọn Sherlock Actionbar trên Thư viện Hỗ trợ
Làm thế nào về nguồn sao chép dán của API 24 vào dự án của bạn và sử dụng rằng 'Chronometer' để thay thế? – azizbekian
bạn có thể xây dựng? –
Điều gì về việc sao chép [this] (https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/widget/Chronometer.java) lớp vào gói của bạn và sử dụng lớp 'com.your.package.Chronometer' thay vì' android.widget.Chronometer'. – azizbekian