2

我创建了两个“左”和“右”按钮来更改画廊项目,使用 setSelection(position 方法)。我面临的问题是,当我在图库中向左或向右翻转时,它会显示项目更改动画/效果。但是当我使用 setSelection 方法更改项目时,没有显示动画。我试过setSelect(pos,animate)方法,但没有结果。

还尝试使用:

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

此动画与翻转时发生的动画不同。

4

2 回答 2

2

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

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

不使用任何动画。

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

于 2013-12-19T07:24:38.833 回答
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);
}

您正在制作动画的项目在屏幕上是否可见?顺便说一句,画廊有问题,最近不推荐使用

于 2013-10-23T06:30:46.593 回答