9

該應用程序目前有列表和酒吧定製(由前人)從片段複製貓蘋果設計。實施一個操作欄:ABSherlock或ABCompat?

我想轉向Android操作欄以提供Android體驗和常見行爲。

我應該實施Action Bar Sherlock還是Action Bar Compat?

臨ABS:

  • 大量的文件
  • 操作欄選項卡是衆所周知的(這就是我需要做的)
  • 關於全息主題? ABS很好地支持它,如何執行ABCompat?

臨ABCompat:

  • 由谷歌(從長遠來看更好?)
  • 更好地導航抽屜連接(但我不會用一個)
  • 在Java中沒有外部依賴支持建立路徑

其他參數有助於確定什麼? 我應該選擇哪一個?

從我的角度來看,如果我成功地使用固定選項卡執行操作欄,則Action Bar兼容性是最佳選擇(但不是太多)。

謝謝你幫助我! (甚至提供論據我錯過了)

回答

7

使我切換到ActionBarCompat的主要原因是設備中的菜單出現與android < = 2.3。使用ActionBarSherlock時,菜單顯示非常難看,並帶有設備的默認菜單。使用ActionBarCompat時,菜單的顯示方式與在Android> = 4.0和硬件菜單鍵的設備中打開它時的顯示方式相同。

但是,請注意,ActionBarCompat有一些錯誤尚未解決。我處理這個錯誤:

SearchView taking all the space in the new ActionBarCompat

UPDATE:

另一個錯誤:

https://code.google.com/p/android/issues/detail?id=58321&thanks=58321&ts=1375277660

UPDATE:

我創建的一個補丁版本ActionBarCompat用ActionMode解決問題。在這裏看到:

The ActionMode is being created twice with the ActionBarCompat r18

+0

好的,謝謝你的信息! 我已經看到你的錯誤問題(因爲我正在尋找ABCompat的第一反饋) – Poutrathor

+0

我剛剛發現了另一個錯誤。那麼,我的建議是:不要成爲像我這樣的早期採用者。每天我都會發現一個破壞我應用程序的新bug。我不回到ActionBarSherlock的唯一原因是舊版本的菜單。 –

+0

「不要成爲早期採用者」,我必須現在實施一個行動條(儘快完成實習)。由於低支持,ABSherlock會在多少時間開始顯示疲軟?現在,我的應用程序中沒有真正的Action Bar。你是否認爲我應該讓ActionBarCompat變得成熟並且獲得ABS,或者因爲它不是**遷移**最好去參加ABCompat? – Poutrathor

6

的原因,我移居我的應用程序從ABS到操作欄COMPAT如下:

  1. 我只有操作欄標籤的一個非常基本的實現,我可以看到這將是簡單的遷移

  2. 我更喜歡谷歌文檔 - 這是更清晰,更完整

  3. 軟件維護將是更簡單,更容易出錯,因爲我現在已經沒有外部依賴encies。

  4. 我遇到了ABS問題,因此我想處理方向更改(但由於ABS掛接到Android的方式,您不能這樣做)。

  5. 我還沒有看到任何與ABS有關其長期ABS計劃的任何聲明。所以我不相信他們會繼續支持它。我可能是錯的 - 但我沒有看到任何東西。

  6. 性能對我來說不是一個真正的問題,但我不明白爲什麼谷歌的「原生」實現會比ABS運行速度慢,我懷疑它可能表現更好。

這些只是我個人的印象。

+0

謝謝!食物的思想! – Poutrathor

1

我認爲ActionBarSherlock是一個輝煌的一塊工作,和一個偉大的服務,Android開發。 (順便說一下,我沒有Jake Wharton的開發者份額。)Google通過在v7中以基本相同的方式包含一些本質上相同的東西(據我所知)支付了最好的讚美。支持庫。

但是現在官方支持的功能有些標準參數適用於選擇哪一種。

ActionBarSherlock是第三方依賴項,代表了持續支持風險。除非它真正需要的東西不是由ActionBarCompat完成的,否則後者有一個你無法解決的問題或者等待修復的問題,但是很少有人贊成與前者保持一致。

我最近從ActionBarSherlock遷移到ActionBarCompat,發現只有一個或兩個小問題,主要問題是需要對用於操作欄選項卡指示器背景的庫存9-補丁圖像進行微調,以便生成在早期的android版本上的標準選項卡行爲,在我的情況下2.2 == API級別8 == Froyo。 (具體來說,我調整了垂直可拉伸區域,使它們不與圖像底部的頂部邊緣或顏色指示條相鄰。)

+0

y我完全同意ActionBarSherlock。如果我遇到類似問題,我會記住你的問題。 – Poutrathor

相關問題