Có cách nào tôi có thể cho biết Thông báo Bánh mì nướng chỉ hiển thị trong một khoảng thời gian nhất định không. Nói chung ngắn hơn sau đó một thông báo bánh mì nướng thường xuyên.Đặt Bánh mì nướng Xuất hiện Chiều dài
Trả lời
Tôi tìm thấy một giải pháp cho điều này bằng cách gọi toast.cancel() sau khi một sự chậm trễ nhất định đó là ngắn hơn so với thời gian bánh mì nướng tiêu chuẩn.
final Toast toast = Toast.makeText(ctx, "This message will disappear in 1 second", Toast.LENGTH_SHORT);
toast.show();
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
toast.cancel();
}
}, 1000);
số
Bạn có thể làm một cái gì đó như:
Toast a = Toast.makeText(this, "a", Toast.LENGTH_LONG);
a.setDuration(300);
nhưng nó sẽ không hiển thị chính nó.
Thời lượng phải là LENGTH_SHORT
hoặc LENGTH_LONG
.
Bạn có thể thiết lập một khoảng thời gian lâu hơn bằng cách sử dụng một hack, như mô tả here
// thử nó
public void myToast(String message) {
LayoutInflater myInflator = getLayoutInflater();
View myLayout = myInflator.inflate(R.layout.custom_layout,
(ViewGroup) findViewById(R.id.toastlayout));
TextView myMessage = (TextView) myLayout.findViewById(R.id.label);
myMessage.setText(message);
Toast toast = new Toast(getApplicationContext());
toast.setView(myLayout);
toast.setDuration(400);
myMessage.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL
| Gravity.CENTER_VERTICAL);
toast.show();
}
Tôi không nghĩ rằng điều này làm bất cứ điều gì để kéo dài thời gian. Nếu thời lượng không phải là LENGTH_SHORT hoặc LENGTH_LONG, thời lượng mặc định là LENGTH_LONG. Phương thức này chấp nhận các giá trị tùy ý trong tự nhiên, nhưng trên thực tế, chỉ thay đổi hành vi (chiều dài bánh mì nướng) nếu giá trị không bằng 0. –
Hãy thử
final Toast toast = Toast.makeText(getBaseContext(), "YOUR MESSAGE",Toast.LENGTH_SHORT);
toast.show();
new CountDownTimer(10000, 1000)
{
public void onTick(long millisUntilFinished) {toast.show();}
public void onFinish() {toast.cancel();}
}.start();
Hy vọng điều này giúp đỡ này .. Thưởng thức .. !!!
Lớp chứng khoán Android Toast được mã hóa để chỉ chấp nhận thông số Toast.LENGTH_SHORT hoặc Toast.LENGTH_LONG khi gọi Toast. Các giá trị của các tham số này tương ứng là 0 và 1 và không chấp nhận bất kỳ giá trị mili giây nào khi gọi hàm setDuration(); Nếu bạn phải hiển thị một Bánh mì nướng trong một thời hạn khác với bạn có thể cân nhắc sử dụng một lớp học từ thư viện SuperToasts của tôi. Lớp SuperToast trong thư viện là bắt chước lớp chứng khoán Android Toast và có thể có bất kỳ giá trị mili giây nào được sử dụng làm tham số thời lượng. Tôi khuyên bạn không nên sử dụng lớp này để hiển thị số Toast dài hơn so với thời lượng tối đa của bánh mì nướng Android do hiệu ứng kéo dài của các dòng giới hạn này. Tôi khuyên bạn nên sử dụng lớp SuperActivityToast để hiển thị thông báo Bánh mì nướng trong Hoạt động/Phân đoạn vì Bánh mì nướng sẽ bị hủy cùng với Hoạt động của bạn sẽ loại bỏ mọi cơ hội của thông báo kéo dài. Để sử dụng lớp này bạn có thể tạo một đối tượng mới:
SuperActivityToast superActivityToast = new SuperActivityToast(this);
superActivityToast.setDuration(SuperToast.DURATION_SHORT);
// setDuration(); can also accept millisecond values
// superActivityToast.setDuration(1000);
superActivityToast.setText("Hello world!");
superActivityToast.show();
Hoặc sử dụng phương pháp tĩnh:
SuperActivityToast.createDarkSuperActivityToast(this, "Hello world!", SuperToast.DURATION_SHORT).show();
Có rất nhiều lựa chọn tùy biến, bạn có thể sử dụng với thư viện là tốt, kiểm tra Wiki trang!
Đây là một cách khác để cấu hình thời gian cho mỗi sự lựa chọn của bạn:
public void showMsg(String msg, final long duration) {
final Toast toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG);
toast.show();
Thread t = new Thread() {
public void run(){
try {
sleep(duration);
toast.cancel();
} catch (InterruptedException e) {
e.printStackTrace();
}
finally { }
}
};
t.start();
}
Chú ý: Thời hạn được quy định trong mili giây.
Đã thử mà không thành công ... – zeflex
- 1. Phát hiện tin nhắn bánh mì nướng
- 2. Cách đặt kiểu bánh mì nướng làm chủ đề?
- 3. Android Rung trên bánh mì nướng (Homer: Mmmm rung trên bánh mì nướng)
- 4. Android: Thông báo bánh mì nướng tùy chỉnh Thừa kế bánh mì nướng mặc định
- 5. Thay đổi Phông chữ Bánh mì nướng
- 6. lỗi khi hiển thị bánh mì nướng
- 7. Thêm hình ảnh vào Bánh mì nướng?
- 8. Bắt sự kiện bánh mì nướng (từ bất kỳ ứng dụng nào) và nhận tin nhắn bánh mì nướng
- 9. Cách kiểm tra sự xuất hiện của thông báo Bánh mì nướng
- 10. Tạo thông báo "bánh mì nướng" như StackOverflow
- 11. Android giống như bánh mì nướng trong Swing
- 12. Cách hiển thị bánh mì nướng trong AsyncTask tại doInBackground
- 13. Android: Bánh mì nướng trong một chủ đề
- 14. Bánh mì nướng Android sẽ không biến mất
- 15. Cách tùy chỉnh bánh mì nướng trong Android
- 16. Kích thước bánh mì nướng trên Galaxy Nexus
- 17. Hiển thị bánh mì nướng phức tạp từ BroadcastReceiver
- 18. Thời lượng của Bánh mì nướng LENGTH_LONG và LENGTH_SHORT
- 19. Văn bản trung tâm trong bánh mì nướng trong Android
- 20. Hoạt ảnh tùy chỉnh cho Bánh mì nướng nhập/xuất cảnh?
- 21. Khung bánh mì trong suốt
- 22. Thông báo bánh mì nướng của Android quá nhỏ trong Bánh kem Sandwich
- 23. Tôi làm cách nào để đưa nút vào thông báo Bánh mì nướng?
- 24. Cách tốt nhất để tránh tích lũy bánh mì nướng trong Android
- 25. Muốn ẩn bánh mì nướng Android khi ứng dụng ở chế độ nền
- 26. Android: Cách thích hợp để sử dụng onBackPressed() với Bánh mì nướng
- 27. Hộp bánh mì nướng so với hộp thoại: sử dụng khi nào?
- 28. Kết thúc hoạt động sau khi thông báo bánh mì nướng biến mất?
- 29. Android: Có cách nào tốt để tạo hộp thoại giống như bánh mì nướng không?
- 30. WP7: Làm thế nào để hiển thị một bánh mì nướng?
Tôi đã phát triển một lớp Bánh mì nướng tùy chỉnh mà bạn có thể hiển thị Bánh mì nướng trong một khoảng thời gian nhất định ... có xem câu trả lời của tôi http://stackoverflow.com/questions/2220560/can-an-android-toast -be-longer-than-toast-length-long/21203554 # 21203554 –