Tôi đang cố gắng tối ưu hóa danh sách của mình, khi tôi đi vào tùy chọn nhà phát triển và bật "Hiển thị giới hạn bố cục" Tôi nhận thấy rằng ứng dụng Gmail có cấu trúc phân cấp xem hoàn toàn bằng phẳng? Làm thế nào là ma thuật đen này đạt được?Ứng dụng Gmail đạt được cấu trúc phân cấp chế độ xem phẳng như thế nào?
Trả lời
Chúng có khả năng ghi đè lênDraw và vẽ trực tiếp lên canvas thay vì thêm chế độ xem làm trẻ em.
http://developer.android.com/training/custom-views/custom-drawing.html
Tôi đoán phép thuật không tồn tại sau khi tất cả :( –
Vâng, tôi có thể là sai về một vài chi tiết, nhưng họ đang sử dụng một giao diện tùy chỉnh. Một widget, nếu bạn muốn.
Thực tế, bạn có một lớp mở rộng thứ gì đó, có thể là Chế độ xem, LinearLayout hoặc RelativeLayout, hơn bạn lập trình thêm nội dung bạn cần vào đó và đảm bảo bạn có phương pháp để truy cập nội dung từ bên ngoài khi bạn tạo một "thingy" mới, bạn sẽ có thể cung cấp cho nó bất kỳ văn bản hoặc hình ảnh nào bạn muốn.
Trong trường hợp của bạn, những gì tôi sẽ làm là một tiện ích mở rộng LinearLayout và tôi sẽ thêm vào đó hình ảnh, 3 textViews (tên, chủ đề, thư thực) và một TextView khác cho ngày đó. Nếu bạn muốn ngôi sao nữa, đó sẽ là một điều nữa được thêm vào, một ImageView. Bạn di chuyển chúng xung quanh bất kỳ cách nào bạn muốn, và đó là khá nhiều nó.
Nếu bạn muốn một số mã cho điều đó, hãy cho tôi biết, tôi sẽ cung cấp cho bạn một số chi tiết khác nếu bạn thực sự cần.
Nhưng sẽ không thêm hình ảnh và 3 bản xem trước văn bản vẫn thêm các mục vào phân cấp chế độ xem? Tôi không hiểu tại sao những lượt xem đó không có bố cục. Tôi đoán văn bản phải được thực hiện với một phương thức canvas.drawText(), tôi chỉ không hiểu làm thế nào họ có thể có một phương thức ondraw tùy chỉnh mà cũng làm sinh động các avatar? Tôi sẽ thử đề xuất của bạn để xem liệu thực tế đó có xóa các layoutbounds hay không. –
Vâng, tôi không chắc chắn về điều này, bạn muốn kiểm tra lại điều này, nhưng tôi khá chắc chắn hệ thống phân cấp nhìn thấy nó như là một điều. Ví dụ nếu bạn mở rộng lớp của bạn như là một LinearLayout, nó nhìn thấy nó như là một LinearLayout. – Vlad
Có thể đó là FrameLayout hoặc RelativeLayout với chế độ xem trên cùng (thứ tự z) bao gồm chiều cao/chiều rộng đầy đủ không? Có lẽ chế độ xem trên cùng này bỏ qua hoặc chuyển sang các sự kiện nhấp để xử lý nhấp chuột "sao"? Chỉ là một dự đoán hoang dã. – hungryghost
- 1. Chuyển cấu trúc phẳng sang phân cấp
- 2. Cố gắng hiểu cấu trúc phân cấp xem
- 3. Chế độ xem bảng xương sống tiêu thụ chế độ xem hàng - cách cấu trúc?
- 4. Is willMoveToSuperview có được gọi là (có nil) khi xóa chế độ xem khỏi cấu trúc phân cấp không?
- 5. Chế độ xem được khởi tạo như thế nào khi được tải qua bảng phân cảnh?
- 6. cách hiển thị cơ sở dữ liệu có cấu trúc phân cấp trong chế độ xem dạng cây?
- 7. BitBucket Wiki: Tạo cấu trúc phân cấp?
- 8. ứng dụng Gmail dành cho Android như Chế độ xem danh sách có chữ cái trong biểu tượng
- 9. Cấu trúc thư mục cấp cao nhất có thể tiết lộ mục đích của ứng dụng như thế nào?
- 10. Câu hỏi về cấu trúc ứng dụng iPhone - Dữ liệu cốt lõi, Chế độ xem, Chế độ xem phương thức, v.v.
- 11. Chế độ xem được ủy quyền hoặc Chế độ xem cấu hình được ủy quyền?
- 12. Google Analytics: Chế độ xem web và Chế độ xem ứng dụng
- 13. Cách sử dụng cấu trúc phân cấp clojure?
- 14. Chế độ xem "tách biệt" nên như thế nào?
- 15. Làm thế nào để đi qua cấu trúc cây cấu trúc phân cấp ngược bằng truy vấn đệ quy
- 16. Tôi cần kiểm tra phân cấp chế độ xem trên chương trình iPhone
- 17. Chuyển đến cấp độ kiến trúc ứng dụng
- 18. Cấu trúc một ứng dụng MonoTouch.Dialog
- 19. Làm thế nào để đạt được độ trễ dưới 10ms khi sử dụng chế độ chia sẻ WASAPI?
- 20. Có thể tải chế độ xem phân tách bên trong chế độ xem chi tiết của một chế độ xem khác không?
- 21. Chuyển trạng thái ứng dụng giữa các chế độ xem trong ứng dụng MVVM WPF
- 22. Android - Làm thế nào có thể thêm cử chỉ vuốt ngang trong chế độ xem cuộn dọc như ứng dụng xung có chế độ xem màn hình
- 23. Tôi nên cấu trúc ứng dụng web phát video như thế nào?
- 24. Thêm chế độ xem của trình điều khiển chế độ xem con vào chế độ xem phụ của bộ điều khiển chế độ xem cha mẹ
- 25. Trình xem phân cấp muốn một cổng được chuyển tiếp, như thế nào?
- 26. AngularJS: Bộ điều khiển và nhà máy/dịch vụ nên được cấu trúc như thế nào với mô hình đối tượng phân cấp, phong phú?
- 27. Cấu trúc ứng dụng AngularJS của tôi
- 28. UNIX shell file sao chép cấu trúc thư mục phẳng
- 29. Bất kỳ cách nào định cấu hình để định cấu hình chế độ xem chế độ xem mvc chế độ xem trực quan
- 30. Chỉ số SQL Server B-cây có cấu trúc phẳng hoặc cấu trúc chiều sâu
Lượt xem tùy chỉnh, rất có thể. – CommonsWare
Tôi muốn nghe về ma thuật đen này quá –
Điều đó có nghĩa là họ đang vẽ toàn bộ danh sách bên trong phương thức onDraw cho chế độ xem tùy chỉnh? Đối với một cái gì đó giống như ngôi sao hoặc người dùng hình ảnh như thế nào mà sẽ đạt được? Cũng trong ứng dụng gmail, nhấp vào hình đại diện tạo hiệu ứng lật, họ có đang vẽ hoạt ảnh đó không? Hình ảnh ngôi sao có yêu cầu Đường dẫn tùy chỉnh không? Đây là ma thuật hoàn chỉnh đối với tôi. –