我有一個可以動態添加或刪除到網格的佈局的GridView。Android:動態更改GridView內容
在iOS中,GridView項目的原生行爲是爲網格中的其他項目滑動到刪除項目的位置,或者在添加新項目時滑動以騰出空間。
但是在Android上,行爲只是爲了即時彈出屏幕上的更改。我嘗試添加自定義動畫使用在GridView的適配器一些技巧,每個getView()調用,但最終導致出現了一些問題,在這裏:
Android GridView loading the 0 indexed item in a later index's slot when data set changes
我想有個人的看法控制動畫,而不是適配器的getView()方法,但最終結果是相同的。
我也嘗試使用GridLayoutAnimationController,像這樣:
Animation animation = AnimationUtils.loadAnimation(mActivity, R.anim.grid_item_fadein);
GridLayoutAnimationController controller = new GridLayoutAnimationController(animation, .2f, .2f);
mGrid.setLayoutAnimation(controller);
這適用於所有的GridView內容的初始加載,但該內容的任何變化只是瞬間彈出像它在默認情況下。
我覺得這是一個非常簡單的功能,應該有一個更簡單的方法來做到這一點。我在網上搜索中看到的最好的效果是a library,它激活了GridView中交換網格中的位置的項目,但這不是我正在尋找的內容(在同一個庫中,當通過刪除網格從網格中刪除項目時同樣的瞬間效應,我試圖避免發生)。
因此我也看到了一個常見的答案:「看看APIDemos,有很多例子。」但據我所知,實際上沒有動畫GridView內容更改的示例。
任何幫助表示讚賞,謝謝。
你想添加什麼類型的動畫?添加xml屬性「animateLayoutChanges = true」將爲任何視圖提供一些基本的流體動畫。 – klmprt 2013-04-18 18:33:06
這是我嘗試的第一件事,不幸的是它不工作。 – JMRboosties 2013-04-23 16:04:42
五月,我知道如何制止這個動畫。 – 2016-10-28 11:22:50