Trong liên lạc Sencha nếu tôi sử dụng chế độ xem điều hướng, tôi có thể lấy lại nút. Điều này là khá tốt.
Nhưng điều gì xảy ra nếu người dùng nhấn nút quay thiết bị? nó là trực tiếp thoát khỏi applicaiton. Trong yêu cầu của tôi nó không nên thoát khỏi ứng dụng nó phải quay trở lại màn hình trước đó. Làm thế nào tôi có thể làm điều này ?.
cách xử lý nút quay lại thiết bị trên ứng dụng cảm ứng sencha
Trả lời
Bạn có thể xử lý phần cứng trở lại nút như thế này:
if (Ext.os.is('Android')) {
document.addEventListener("backbutton", Ext.bind(onBackKeyDown, this), false);
function onBackKeyDown(eve) {
eve.preventDefault();
//do something
alert('back button pressed');
}
}
Tôi nên áp dụng điều gì trong lớp hoặc tệp JS? –
Tôi không tìm thấy hướng dẫn trên trang hỗ trợ lịch sử hữu ích khi cố gắng thực hiện việc này; Tôi không thể nhìn thấy anyway để sử dụng các tuyến đường khi giao dịch với một giao diện điều hướng mà có thể có một chồng lớn các quan điểm trên nó bất cứ lúc nào.
Nếu bạn chỉ muốn nút quay lại hoạt động, bạn có thể sử dụng các chức năng popstate
và pushstate
(xem https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history để tham khảo). Ý tưởng là bạn push
trạng thái khi thêm chế độ xem và pop
tắt khi xóa một chế độ xem. Nút quay lại vật lý trên điện thoại Android hoặc nút quay lại trên trình duyệt trên máy tính để bàn có hiệu quả các cuộc gọi history.back()
; vì vậy tất cả những gì bạn cần làm là đảm bảo rằng việc nhấn nút quay lại trên thanh tiêu đề sẽ thực hiện tương tự, và điều đó sẽ kích hoạt chế độ xem điều hướng để bật.
Để sử dụng nó làm việc trong Sencha Touch, tôi thêm dòng sau vào bộ điều khiển chính:
Trong refs Tôi có tham chiếu đến main
view (một thể hiện của Ext.navigation.View
) và thanh tiêu đề của nó, từ đó bạn có thể treo vào sự kiện của nút ví dụ sau:
refs: {
main: 'mainview',
mainTitleBar: 'mainview titlebar',
}...
tôi đính kèm các chức năng sau thông qua đối tượng control
cấu hình ..
control: {
main: {
push: 'onMainPush'
},
mainTitleBar: {
back: 'onBack'
},
...
Đây là những định nghĩa là:
onMainPush: function(view, item) {
//do what ever logic you need then..
history.pushState();
},
onBack: function() {
history.back(); //will cause the onpopstate event to fire on window..
//prevent back button popping main view directly..
return false;
},
sau đó tôi đính kèm một chức năng để thực hiện khi nhà nước được popped qua hàm init của ..
init: function() {
/* pop a view when the back button is pressed
note: if it's already at the root it's a noop */
var that = this;
window.addEventListener('popstate', function() {
that.getMain().pop();
}, false);
},
Bây giờ, nhấn trở lại trên thanh tiêu đề, thực hiện history.back()
, điều này lần lượt kích hoạt sự kiện popstate
, sau đó làm cho chế độ xem chính bật lên.
Nếu bạn muốn thấy điều này làm việc trên một ứng dụng thực tế, có một ứng dụng công cụ tìm kiếm (v. Basic!) Sử dụng kỹ thuật này trên github here.
- 1. Cách xử lý nút Quay lại với trong hộp thoại?
- 2. Cách ẩn các nút cảm ứng mềm trên các thiết bị như Galaxy Nexus
- 3. Cách Viewflipper xử lý nút quay lại trong Android?
- 4. android: quay lại (thiết bị nút quay lại) sự kiện trong Titanium không hoạt động
- 5. Xử lý phần cứng Android Nút quay lại
- 6. Làm thế nào để mô phỏng hiệu ứng di chuột trên các thiết bị cảm ứng?
- 7. Rời khỏi ứng dụng Android bằng nút quay lại
- 8. Di chuyển ứng dụng ở chế độ nền trên sự kiện nút quay lại
- 9. gửi sự kiện cảm ứng từ ADB tới thiết bị
- 10. Cách xử lý phát âm thanh nền trong khi thiết bị iOS bị khóa hoặc trên một ứng dụng khác?
- 11. Làm cách nào để triển khai trình xử lý cảm ứng trên hình ảnh?
- 12. Có hợp lý để có nút "quay lại" trong ứng dụng Android không?
- 13. Bỏ qua jQuery hover (mouseenter, mouseleave) trên các thiết bị cảm ứng
- 14. Thử nghiệm ứng dụng PhoneGap trên một thiết bị thực
- 15. Tải lại trang trên nút quay lại
- 16. Nút cảm ứng Sencha - Tạm dừng cho đến khi hiển thị
- 17. Nhận một nút xử lý từ một ứng dụng khác
- 18. Quay lại Điều hướng trong Ứng dụng Android trên Webview
- 19. Trang cuộn MapBox trên cảm ứng
- 20. Phonegap Android Back Button - đóng ứng dụng với nút quay lại trên trang chủ
- 21. Ứng dụng web HTML5 một trang không nên có nút quay lại?
- 22. Nút quay lại thoát khỏi ứng dụng trong android bằng cách sử dụng appcelerator titanium
- 23. Cách xử lý đúng HttpAntiForgeryException trong ứng dụng MVC 4
- 24. Trình nghe sự kiện backbutton Javascript ghi đè nút quay lại thiết bị Android
- 25. Gọi lại Trình xử lý nút quay số mặc định Phonegap
- 26. Chặn nút quay lại
- 27. Ứng dụng đột nhiên sẽ không chạy trên thiết bị
- 28. null biến tĩnh khi quay lại ứng dụng
- 29. Cách Google xử lý nút Quay lại sau khi đăng xuất?
- 30. Cách xử lý nút "Lên"?
đây là cùng một vấn đề tôi cũng đang phải đối mặt. Như tất cả các ứng dụng được điều khiển bởi đơn (không cần thiết mặc dù) tập tin html không có lịch sử của các trang đã truy cập trước đó và ứng dụng được đóng lại trên phím trở lại. Có thể có một cách từ phonegap nếu bạn đang sử dụng. – SachinGutte
Vui lòng hiển thị mã của bạn. – hekomobile
ứng dụng của nó không phải là một tệp duy nhất để dán ở đây. chứa tất cả các tệp hệ thống và nhiều tệp – atluriajith