1. 程式人生 > >android踩坑記錄之view.setVisiblity()

android踩坑記錄之view.setVisiblity()

問題

在某次做懸浮側邊欄的時候,遇到了一個問題:我用windowManager建立的懸浮側邊欄。點選中心view展開選單,再次點選則隱藏選單,如此簡單的一個需求,卻遇到了奇怪的問題,我沒有對view的隱藏和顯示設定動畫,但是點選中心view,其他view在隱藏和顯示的時候都會做一次過渡動畫,即時設定android:animateLayoutChanges="false"也無效。手動新增動畫後,也只是在原過渡動畫的基礎上再做動畫。

原因

在我一臉懵逼的時候發現了一個破綻,我設定隱藏view是用的gone,而選單本身佈局用的自適應大小,gone是不佔位置的,因此設定gone後整體的選單會縮小,系統為了讓這個縮小不僵硬,給我預設添加了動畫。

解決方案

要解決這個問題,設定根佈局為固定大小即可。