Tuyên bố từ chối: đây là sự cố lạ chỉ xảy ra trong Kindle Fire (cho đến nay).Kindle Fire thay đổi Độ phân giải màn hình tại một số điểm…
Công nghệ được tham gia: Android SDK, Eclipse, LibGDX.
Tôi có một ứng dụng tương đối đơn giản chạy với LibGDX. Cách LibGDX hoạt động là có một chuỗi OpenGL sẽ gọi Create() (một lần) và sau đó Render() nhiều lần nhất có thể (để bạn có thể thực hiện kết xuất ...). Vì vậy, khi bạn khởi tạo thiết bị, phương thức "Create()" của bạn được gọi và sau đó khi bề mặt OpenGL được khởi tạo (tất cả điều này xảy ra tự động), Render() của bạn bắt đầu được gọi.
Nếu bối cảnh OpenGL bị mất, bị hủy, vv, phương thức Resize (chiều rộng, chiều cao) của bạn được LibGDX gọi.
Cho đến nay. Tốt quá.
Bây giờ tôi đã gặp phải một vấn đề lạ với Kindle Fire, nơi mọi thứ chỉ mất vài pixel hoặc "cắt". Kindle Fire có một "softbar" ở dưới cùng của màn hình (20 pixel) mà bạn không thể ẩn hoặc bỏ qua, đó là "loại ok" vì thiết bị không có nút vật lý. Bạn đang mong đợi để chạm vào thanh mềm này và nhận được một thanh lớn hơn để quay trở lại, về nhà, vv Theo Amazon, thanh này không thể được gỡ bỏ. (không phải là 100% rõ ràng nhưng không ai đã tìm thấy một cách - không phải là vi phạm các quy tắc của Amazon). Ứng dụng duy nhất mà tôi đã nhìn thấy sẽ xóa đó là Trình phát video của Amazon cho các video được phát trực tuyến từ Đám mây của Amazon chỉ. Vì vậy, như bạn có thể thấy, dường như không có cách nào để "vĩnh viễn" ẩn thanh đó.
Vì vậy, nếu thanh ở đó, trạng thái màn hình thực của bạn không phải là độ phân giải phần cứng 1024x600 (ngang) nhưng 1024x580. Vì vậy, tôi đã thêm một số khai thác gỗ với các phương pháp của tôi để xem những gì đang xảy ra, và đã rất ngạc nhiên với điều này ... (nhớ create(), render() và thay đổi kích thước() phương pháp):
12-23 15:17:04.119: I/myapp(19921): SCREEN HEIGHT AT CREATE(): 600
[snip other unrelated log stuff]
12-23 15:17:04.673: I/myapp(19921): SCREEN HEIGHT AT RENDER() LOOP: 600
[snip other unrelated log stuff]
12-23 15:17:04.705: I/myapp(19921): MyApp - Resize() Called.
12-23 15:17:04.705: I/myapp(19921): SCREEN HEIGHT AT RENDER() LOOP: 580
Vì vậy, màn hình đã được "thay đổi kích thước" của Kindle Fire, "tại một số điểm".
Có ai đi qua thứ gì đó như thế này không?
Đây là ảnh chụp màn hình (chú ý thanh màu đen ở trên cùng, không được tôi thêm vào!). Hãy tha thứ cho tôi vì làm mờ hình ảnh nhưng đây là dự án của khách hàng và tôi không thể tiết lộ bất cứ điều gì.
Những niềm vui một phần bắt đầu khi đôi khi, thanh sẽ không có mặt ở đó và ứng dụng sẽ trông giống như sau (một lần nữa, sry cho mờ). Chú ý cách thanh trên cùng là không có ...
Khi một cuộc kiểm tra chặt chẽ hơn của cả hai bức ảnh, bạn có thể nói rằng phía dưới (mà phải là giống nhau), không phải là. Các kindle đang làm những điều kỳ lạ.
Bất kỳ ý tưởng nào?
Nội dung ban đầu được đóng gói là 1024x600 nhưng chúng tôi đã thay đổi (580 giờ) và giả định rằng chế độ xem hiện là 1024x580 nhưng tôi tự hỏi liệu có ai tìm cách tốt hơn để giải quyết vấn đề này không?:)
lưu ý: chúng tôi có android: theme = "@ android: style/Theme.NoTitleBar.Fullscreen" trong tệp kê khai. Không làm gì cả.
Xin cảm ơn trước.
Tôi không thể giúp bản thân vấn đề Kindle, nhưng phương thức resize() có thể được gọi bất kỳ lúc nào và không liên quan đến mất ngữ cảnh. Mất bối cảnh được biểu thị bằng một lời gọi để tiếp tục(). – badlogic
@badlogic hi Mario;) (Gryzor ở đây). Vâng, chúng tôi đang chờ xử lý thay đổi kích thước() nhưng điều này có vẻ là vấn đề về Kindle Fire (được báo cáo bởi những người khác). Amazon đã làm một cái gì đó khó chịu trong đó ...: S Cảm ơn tho ' –