在android中的中心图像zoomedin的画廊

时间:2012-12-21 09:35:13

标签: android

我正在使用图库来滚动显示图像。我使用getChildStaticTransformation(View child,Transformation t)方法将变换应用于每个图像的每个子项。

但现在我想使用按钮滚动图像。所以我从getChildStaticTransformation事件按钮调用方法onTouch。但是图像没有移动。

代码如下: -

在我使用的类的构造函数中,

    this.setStaticTransformationsEnabled(true);

因此,当我滚动屏幕时,下面的方法会自动解雇。但是我想在按钮上单击时使用方法。我尝试在按钮内单击显示此方法,但它无法正常工作。

protected boolean getChildStaticTransformation(View child, Transformation t) {

    final int childCenter = getCenterOfView(child);
    final int childWidth = child.getWidth();
    int rotationAngle = 0;

    t.clear();
    t.setTransformationType(Transformation.TYPE_MATRIX);

    if (childCenter == mCoveflowCenter) {
        transformImageBitmap((ImageView) child, t, 0);
    } else {
        rotationAngle = (int) (((float) (mCoveflowCenter - childCenter) /                           childWidth) * mMaxRotationAngle);
        if (Math.abs(rotationAngle) > mMaxRotationAngle) {
            rotationAngle = (rotationAngle < 0) ? -mMaxRotationAngle
                    : mMaxRotationAngle;
        }
        transformImageBitmap((ImageView) child, t, rotationAngle);
    }

    return true;
}

请帮帮我。

2 个答案:

答案 0 :(得分:6)

您是否尝试在getChildStaticTransformation()方法中调用无效,例如child.invalidate();?每次要更新子项的静态转换时,都需要在相应的子项上调用invalidate()。如果您在点击按钮时仍然无法通过图像移动,那么您可以按照这个很棒的example进行操作,这样您就可以了解如何通过按钮点击来查看图像。如果您可以在实际出错的地方发布您的代码段,则可能有机会编辑我的答案。希望这会有所帮助。

答案 1 :(得分:0)

我找到了解决方案。我使用了OnFling Method()。