使用setSelection(位置)翻转图库视图

时间:2013-10-23 06:13:21

标签: android animation gallery onfling

我创造了两个"左"和#34;对"使用setSelection(位置方法)更改图库项目的按钮。我面临的问题是,当我在画廊上向左或向右翻转时,它会显示项目更改动画/效果。但是当我使用setSelection方法更改项目时,不会显示任何动画。我尝试了setSelect(pos,animate)方法,但没有结果。

还尝试使用:

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

此动画与翻转时不同。

2 个答案:

答案 0 :(得分:2)

您可以通过以下方式模拟按键事件:

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

不使用任何动画。

将这两个功能分别放在“左”和“右”按钮中。 :)

答案 1 :(得分: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);
}

您在屏幕上显示动画的项目是否可见? 顺便说一下,画廊最近出现了问题并且已被弃用