我正在使用图库来滚动显示图像。我使用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;
}
请帮帮我。
答案 0 :(得分:6)
您是否尝试在getChildStaticTransformation()
方法中调用无效,例如child.invalidate();
?每次要更新子项的静态转换时,都需要在相应的子项上调用invalidate()。如果您在点击按钮时仍然无法通过图像移动,那么您可以按照这个很棒的example进行操作,这样您就可以了解如何通过按钮点击来查看图像。如果您可以在实际出错的地方发布您的代码段,则可能有机会编辑我的答案。希望这会有所帮助。
答案 1 :(得分:0)
我找到了解决方案。我使用了OnFling Method()。