2013-07-17 44 views
5

Tại sao chúng ta nên chọn sử dụng Thanh Hành động Sherlock trong Android thay vì Thư viện Hỗ trợ? Có một lý do vững chắc để sử dụng một ở trên khác không?Chọn Sherlock Actionbar trên Thư viện Hỗ trợ

+0

bản sao có thể có của [Làm cách nào để sử dụng ActionBar trên các phiên bản cũ hơn của Android?] (Http://stackoverflow.com/questions/10867617/how-do-i-use-the-actionbar-on-older-versions -of-android) – flup

Trả lời

2

Sherlock Action Bar mục đích là thêm ActionBar triển khai khái niệm trực quan cho cấp API dưới 11 (vì ActionBar được thêm vào ở cấp API 11). Lấy từ ActionBar javadoc: "Một tính năng cửa sổ ở phía trên cùng của hoạt động có thể hiển thị tiêu đề hoạt động, chế độ chuyển hướng, và các mặt hàng tương tác khác"

Support library (như tên mô tả) là một jar đó cung cấp các API thêm trong các phiên bản Android mới hơn cho các phiên bản cũ hơn. Ví dụ tốt nhất mà tôi có thể nghĩ đến là triển khai thực hiện Fragment: Được thêm vào API cấp 11 đã giúp dễ dàng tích hợp các phần khác nhau của giao diện người dùng trên ứng dụng. Nhưng đó chỉ dành cho API cấp 11 ở trên. Vì vậy, khi thư viện hỗ trợ được phát hành, nó cung cấp tính năng này cho các cấp API dưới đây 11.

Vì vậy, đây là hai khái niệm riêng biệt (một là dành cho giao diện người dùng, còn cái kia là để hỗ trợ các API mới hơn trong phiên bản Android cũ hơn). Để thêm, Sherlock AB sử dụng thư viện hỗ trợ.

+0

Bất kỳ cập nhật nào giờ đây thư viện hỗ trợ Android đều có ActionBar? http://developer.android.com/reference/android/support/v7/app/ActionBar.html –

+1

Vào thời điểm câu hỏi được hỏi, thư viện hỗ trợ không hỗ trợ thanh tác vụ. Bây giờ, tôi nhớ đọc ở đâu đó rằng Jake Wharthorn sẽ ngừng hỗ trợ Sherlock một khi thư viện hỗ trợ sẽ có thanh hành động. Vì vậy, nó có thể là Sherlock sẽ không được chấp nhận sớm. Tuy nhiên, xem xét câu hỏi của bạn câu trả lời là viết tắt. – gunar

2

Nếu tôi không nhầm, ActionBar chỉ khả dụng trong API 11+ và thư viện hỗ trợ không bao gồm Thư viện ActionBar cho API < 11. ActionBarSherlock là thư viện cho phép bạn hỗ trợ ActionBar trong API 7+ .

PS: Tôi tin rằng Google sẽ sớm đưa API ActionBar vào thư viện hỗ trợ. Vì vậy, họ đã nói trong Google I/O năm nay.

Cập nhật: Google đã thêm ActionBar (cho API 7+) vào thư viện hỗ trợ.

+2

Thanh tác vụ hiện được hỗ trợ trong thư viện hỗ trợ. Xem câu trả lời của tôi dưới đây. – StuStirling

+0

Khá ngược lại. "Đã thêm ActionBar để cho phép triển khai mẫu thiết kế giao diện người dùng của thanh tác vụ trở lại Android 2.1 (API cấp 7) trở lên. Sử dụng lớp này yêu cầu bạn triển khai hoạt động của mình bằng cách mở rộng lớp ActionBarActivity mới." - http://developer.android.com/tools/support-library/index.html .Nó đã được hỗ trợ –

2

Thư viện hỗ trợ không có khả năng tương thích với bản sửa đổi Thư viện hỗ trợ thanh tác vụ trước 18 và do đó lựa chọn tự nhiên là thư viện ActionBarSherlock.

Tuy nhiên, bản sửa đổi 18 phát hành vào tháng 7 đôi khi được hỗ trợ, tôi không chắc chắn vì tôi chưa sử dụng nhưng trong các dự án tương lai, tôi sẽ hướng tới Thư viện hỗ trợ do Google hỗ trợ.

Liên kết tới ghi chú sửa đổi Thư viện hỗ trợ là here.

+0

bạn có thể chia sẻ kinh nghiệm của mình về việc sử dụng ActionBar hỗ trợ trên thiết bị trước ICS không? – mente

+0

Tôi chưa sử dụng thư viện hỗ trợ Action Bar như các dự án tôi làm việc trên đã được triển khai Action Bar Sherlock.Tôi sẽ có xu hướng sử dụng thư viện hỗ trợ một tuy nhiên – StuStirling

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