2013-10-23 19 views
2

我創建了兩個「左」和「右」按鈕來使用setSelection(位置方法)更改圖庫項目。我面臨的問題是,當我在畫廊上左右翻動時,它會顯示項目更改動畫/效果。但是當我使用setSelection方法更改項目時,不顯示動畫。我嘗試過setSelect(pos,animate)方法,但沒有結果。使用setSelection(位置)的圖庫視圖翻轉

Animation inFromRight = AnimationUtils.loadAnimation(activity, R.anim.righttoleft); 
        gallery.startAnimation(inFromRight); 
        gallery.setSelection(currPos); 

此動畫是不一樣的,其時發生翻轉:

使用也試過。

回答

0

於Android來源爲setSelection的執行情況:

public void setSelection(int position, boolean animate) { 
    // Animate only if requested position is already on screen somewhere 
    boolean shouldAnimate = animate && mFirstPosition <= position && 
      position <= mFirstPosition + getChildCount() - 1; 
    setSelectionInt(position, shouldAnimate); 
} 

這正是你在屏幕上看到的動畫項目? BTW,畫廊是越野車和最近

+1

它不工作:(,一個項目在屏幕上一次可見 – kaibuki

+0

如何使基於滾動視圖的自定義控制?它是唯一的選擇,因爲只有一個項目在屏幕上可見 – vadimvolk

2

您可以模擬按鍵按下事件棄用:

gallery.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, null); 
gallery.onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, null); 

不使用任何動畫。

只需將這兩個功能分別放在「左」和「右」按鈕。 :)