2012-11-24 36 views
14

Tôi gặp sự cố (nghiêm túc, tôi không biết cách thực hiện: D) với việc triển khai thư viện SlidingMenu (từ liên kết Jeremy Feinstein ... dowm) cho Android. Có ai có thể giúp tôi với quá trình thực hiện không? Tôi bắt đầu lập trình viên Android, vì vậy đôi khi tôi cần sự giúp đỡ :)Lời khuyên: Triển khai SlidingMenu trên Android (J. Feinstein)

Thư viện - https://github.com/jfeinstein10/SlidingMenu

Trả lời

24

Tôi đã sử dụng thư viện Feinstein và quyết định tạo ứng dụng mẫu với việc triển khai linh hoạt và có thể tái sử dụng nhiều như tôi nghĩ.

Vui lòng kiểm tra the source code at GitHub.

Download app trực tiếp vào thiết bị để thử.

Ở đây trình đơn trượt với nội dung là sử dụng phân đoạn danh sách. Tôi đã thực hiện hai cách tiếp cận. Một, khi dữ liệu danh sách được lấp đầy với dữ liệu được tải từ tệp XML. Thứ hai, khi dữ liệu được điền từ lớp riêng biệt.

Tôi đã thêm nhiều nhận xét để nắm bắt ý tưởng dễ dàng hơn. Tôi hy vọng nó sẽ hữu ích! ;)

+0

@Andrius Baruckis Này, tôi đã sử dụng dự án mẫu của bạn, nó đơn giản và tốt :) Nhưng tôi đang đối mặt với một vấn đề trong mã nguồn. Không tìm thấy nhập sau: import com.slidingmenu.lib.SlidingMenu; – berserk

+1

Ok sửa lỗi này xD Nhưng có lỗi tại getSlidingMenu() Lỗi là: Phương thức getSlidingMenu() từ kiểu SlidingMenuInitialiser đề cập đến kiểu thiếu SlidingMenu – berserk

+0

Ok sửa tất cả lỗi XD Tôi vừa xóa lệnh nhập ur và thay đổi thành thư viện Feinstein ban đầu: D – berserk

10

Tạo một Activity kéo dài SlidingActivity, tạo một Fragment cho thực đơn của bạn và trong phương pháp onCreate thêm này:

FrameLayout frameLayout = new FrameLayout(this); 
frameLayout.setId(ID_MENUFRAME); 
setBehindContentView(frameLayout); 
FragmentTransaction ft = getFragmentManager().beginTransaction(); 
MenuFragment menuFragment = new MenuFragment(); 
ft.replace(ID_MENUFRAME, menuFragment); 
ft.commit(); 

trong đó ID_MENUFRAME là một int không phải là id hiện diện trong bố cục của bạn (tôi đặt nó thành 1).
Sau đó, nếu bạn muốn mở hoặc đóng menu, hãy gọi:

getSlidingMenu().toggle(); 

Và bạn sử dụng hoạt động của bạn giống như bất kỳ hoạt động nào khác.
Lưu ý rằng bạn sẽ phải tùy chỉnh SlidingMenu theo chương trình của mình. Ví dụ:

sm.setBehindOffsetRes(R.dimen.slidingMenu_behindOffset); 
sm.setShadowWidthRes(R.dimen.slidingMenu_shadowWidth); 
sm.setShadowDrawable(R.drawable.slidingmenu_shadow); 
+0

** Cảm ơn bạn rất nhiều! ** Tôi hy vọng điều này chắc chắn sẽ giúp tôi ;-) –

+0

Tôi gặp lỗi ở đây: "MenuFragment" không thể được giải quyết thành một loại. Bất kỳ ý tưởng? – Ada

+1

Bạn phải tự tạo ra 'Fragment' và thay thế' MenuFragment' bằng phân đoạn của riêng bạn. – yDelouis

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