我想在出現新片段時部分隱藏片段。動畫片段,以便它部分偏離屏幕
我建立在ScienceGuy的GitHub上的代碼,在Fragment Animation like Gmail Honeycomb App
如引用我開始與三個片段。最左側的重量爲6,中間的重量爲4,最右側的重量爲4.將weightSum設置爲10會使左側和中間的碎片出現,最右側的是離屏。這就是我要的。
當用戶在中間片段中選擇一個項目時,我想轉換左邊的片段,以便它的三分之二移動到屏幕的左側。由於權重,我實際上有2,4,4。此時,正確的片段已完全移到屏幕上。
使用ScienceGuy的代碼,當左邊的片段滾動時,我可以得到正確的片段,但左邊的片段完全消失。
我已經使用以下代碼的嘗試:
final float middleFragmentWidth = getMiddleFragment().getView().getWidth();
ObjectAnimator animIn = ObjectAnimator.ofFloat(null, "x",
-middleFragmentWidth/2, 0).setDuration(
trans.getDuration(LayoutTransition.APPEARING));
trans.setAnimator(LayoutTransition.APPEARING, animIn);
ObjectAnimator animOut = ObjectAnimator.ofFloat(null, "x", -middleFragmentWidth,
-middleFragmentWidth/2).setDuration(
trans.getDuration(LayoutTransition.CHANGE_DISAPPEARING));
trans.setAnimator(LayoutTransition.DISAPPEARING, animOut);
我懷疑的Android期望的是,當一個「隱藏」它的片段被完全隱藏。有沒有一種方法來動畫片段,以便它們實際上並不隱藏,但部分屏幕外?
另外,我可以把這三個片段放到一個HorizontalScrollView中,並嘗試對它進行動畫處理。但是,我沒有這樣做,因爲大多數中間和最右邊的片段都包含listviews,並且要避免在HorizontalScrollView中使用listview according to the docs。
嗨,我面臨同樣的問題。你有解決這個問題嗎? – Dhaval
我結束了基於LinearLayout的創建自定義視圖。我會用一個例子回答我的問題。 –