2014-09-29 44 views
25

我想在我嘗試製作的應用中實現此行爲[https://github.com/gleue/TGLStackedViewController]]。爲Chrome創建UI,例如Chrome

我想實現的最接近的效果是Google Chrome瀏覽器的行爲方式。

  1. 瓷磚/卡接口
  2. 能夠訪問導航的形式(訪問其它選項卡),當用戶拉下地址欄
  3. 能夠重新安排任何順序選項卡中的用戶希望

照片從這個Android Layout : How to implement a UI similar to deck of cards?採取SO質疑

有沒有人試圖實施這種行爲?你們知道任何可以幫助實現這種效果的圖書館嗎?這將是非常有益的!謝謝

+0

閱讀關於ViewGroup和特別是onLayout方法,那麼將容易製作像容器一樣的定製卡片 – pskink 2014-09-29 07:47:23

+0

TGLStackViewController有什麼問題? – 2015-03-31 10:34:39

+0

@KevinCrain我正在找一個ANDROID的庫:) – momoja 2015-04-01 11:02:39

回答

7

如果您希望瀏覽AOSP代碼,您正在尋找的功能實際上是開源的,您可以在最近的應用程序屏幕中的Android 5.0中找到它。 This是您想要在github上查看的代碼。 您要從AOSP中提取的視圖是RecentsView。這將是最好的方法。

你也可以考慮擴展StackView並覆蓋onLayout(),這樣你就可以讓孩子們陣容了。

另一種選擇是擴展ListView,覆蓋drawChild或佈局methots並嘗試根據它們的位置來移動視圖。你可以找到一些靈感herehere

+0

嗨安德烈,非常感謝你。是的,我已經嘗試瞭解這一點,如果我正確地閱讀代碼,他們正在使用一個定製的ScrollView爲此...我不明白這麼多,這就是爲什麼我試圖在ListView上實現它,並且使用相機和矩陣操作來定製drawChild。儘管如此,謝謝你。 – momoja 2015-04-04 12:11:45

22

systemUI/Recents包,如Andrei所述,可以作爲你的出發點。它增加了一些更多的鉻標籤的平面演繹。

自從我獲得L更新以來,我一直想重構systemUI/Recents包。我終於明白了。

enter image description here

的樣例項目在託管:Link

即使ViewGroup中回收,它更新了每個滾動步驟中的所有孩子們的進步地圖(子屬性)。這將導致大數據集滯後。幾百,應該沒問題。

示例項目使用畢加索從LoremPixel加載和緩存圖像。由於這些是隨機圖像&可能會重複,您可以通過查看圖像的左下角來驗證它們是否正確綁定。

+0

嗨Vikram,謝謝你分享這個示例項目,我相信它不僅能幫助我,還能幫助更多的開發人員。我已經試着研究過這個AOSP實現,但是我遇到的問題是它只適用於Kitkat和Lollipop。我也試圖支持ICS。但是,謝謝你。 – momoja 2015-04-04 12:07:19

+2

@momoja嗨,'DeckView'(以及它基於的AOSP代碼)只使用Lollipop及更高版本的API。所以,沒有KitKat支持。我希望我能夠在未來一週內降低最低sdk要求。我不能承諾現在支持ICS :( - github頁面將更新相關信息。 – Vikram 2015-04-04 15:37:30

+0

是@Vikram我祈禱你做。我不會將你的評論標記爲已接受的答案... atleast不是。因爲問題我希望你能理解,我希望你能在這裏成功並更新它,因爲社區會非常感激貢獻。 – momoja 2015-04-04 15:50:49