2016-03-17 58 views
0

我有一個卡片狀的視圖,有一個正方形和一個白色背景,我想要擴大以填充整個屏幕。這是一個列表中的卡片(我自己的自定義佈局,而不是CardView),我希望在通過片段過渡點擊它時佔用整個屏幕。如何使視圖像材料「工作表」一樣展開?

我的第一個想法是在新的片段中創建一個假的,相同的視圖,將其放置在項目的位置,並將其設置爲頂部,同時將其佈局邊界設置爲動畫以佔據整個屏幕。然而,我不認爲這是最好的想法,因爲Android在動畫運行時(每個單幀都會重新測量佈局)(可能會滯後)。有沒有辦法以一種乾淨的方式得到這個效果?我將要使用片段轉換,所以我希望能以某種方式使用Animator,但我會採取任何解決方案。

回答

0

您可以嘗試做同樣的事情,但不要轉播,而是重新繪製。創建視圖的onDraw()的自定義實現,這並不困難。

視圖將填滿整個屏幕,但在動畫開始時只會繪製初始部分。

或者你可以試試你的方法,它很容易實現,可能並不是那麼慢。

此外,可以直接修改視圖的setLeft(),setRight()等與動畫師是一個有效的解決方案。

+0

不會覆蓋'onDraw'不正確的動畫陰影,但? –

+0

你說得對,陰影不會動畫。嘗試使用動畫左,右等視圖屬性進行動畫製作。 –

+0

我會試試看,謝謝。 –