2015-01-22 11 views
12

Tôi đã tìm kiếm trên Internet nhưng tôi không thể tìm thấy một số lời giải thích hay lời khuyên tốt. Về cơ bản, tôi muốn triển khai chức năng này.Cách triển khai chế độ xem xếp chồng tùy chỉnh trong Android?

enter image description here trên trượt xuống

enter image description here

enter image description here

tôi sử dụng lớp StackView và tất cả tôi nhận được là này "chéo" ngăn xếp

enter image description here

Tôi muốn xem để được một phía sau anoth er, như trong hình trên.

Câu hỏi tương tự được hỏi tại đây ->Android customize stackview, nhưng tôi không thể tìm thấy bất kỳ câu trả lời thỏa mãn nào.

Tôi đã đọc mã cho StackView như được đề xuất, nhưng thành thật mà nói, tôi không biết làm cách nào để tùy chỉnh nó để có được những gì tôi muốn. Khi tôi thay đổi giá trị PERSPECTIVE_SHIFT_FACTOR_X hoặc PERSPECTIVE_SHIFT_FACTOR_Y không có gì thay đổi và tôi nhận được cùng một "chế độ xem chéo". Tui bỏ lỡ điều gì vậy?

Cảm ơn bạn đã trả lời trước.

+0

Vui lòng xem xét gắn dấu sao yêu cầu tính năng này: https://issuetracker.google.com/issues/37076423 –

Trả lời

14

Vui lòng sử dụng thư viện của tôi có sẵn here.

enter image description here

Nó thực hiện chính xác những gì bạn muốn và được dựa trên ViewPager để bạn có thể sử dụng nó với chỉ là một điển hình PagerAdapter bạn đã chọn.

+0

Cảm ơn bạn đã trả lời! Bạn có thể vui lòng cho tôi biết làm cách nào tôi có thể sửa đổi triển khai để hỗ trợ vuốt nhiều thẻ (không chỉ một thẻ) bằng một cú vuốt 'mạnh'? – Want

+0

Không thể thực sự nghĩ đến bất kỳ giải pháp "nhanh chóng và dễ dàng nào" ...Tôi nghĩ rằng bạn sẽ phải thực hiện một cái gì đó tương tự như thế này: http://stackoverflow.com/a/14969879/1993204, nhưng hỗ trợ 'VerticalViewPager' thay vì một chiều ngang. BTW cảm thấy tự do để chấp nhận câu trả lời nếu nó giúp bạn. –

+0

@blipinsk tôi có thể tùy chỉnh lib của bạn nơi tôi có thể vuốt chế độ xem sang trái và phải để hủy không? Tôi muốn tạo hiệu ứng cho chế độ xem ngăn xếp như Tinder như chức năng vuốt. –

7

Bạn không thể thay đổi số PERSPECTIVE_SHIFT_FACTOR_X gốc vì đó là trường riêng tư.

StackView sử dụng nhiều lớp mà có gói tầm nhìn và chỉ có thể sử dụng trong gói android.widget.

Ngoài ra, một số lớp được biên dịch trước và không tìm thấy nguồn, vì vậy bạn không thể chỉ cần sao chép-dán chúng và tạo tùy chỉnh của riêng mình StackView từ số không.

Bạn có thể làm cho các chế độ xem xuất hiện trong một cột bằng cách ghi đè onLayout, nhưng khi bạn tạo hiệu ứng cho chúng, vị trí của chúng sẽ được thay đổi về mặc định. Đáng buồn là các hoạt ảnh xem được thực hiện theo các phương thức riêng tư của StackView vì vậy bạn không thể làm gì về điều đó.

Bạn nên tạo lớp của riêng mình thực hiện việc này và bạn có thể tham chiếu mã được sử dụng trong nguồn StackView. Tạo một lớp như vậy có thể là rất nhiều công việc và nó chắc chắn không nằm trong phạm vi của một câu hỏi duy nhất.

Các vấn đề liên quan