0

スクロールして画像を表示するためにギャラリーを使用しています。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;
}

私を助けてください。

4

2 に答える 2

6

のようなメソッドで無効化を呼び出してみましたか? 子の静的変換を更新するたびに、それぞれの子で invalidate() を呼び出す必要があります。ボタンをクリックしながら画像を移動する際にまだ問題がある場合は、この素晴らしいに従うことができます。これにより、ボタンのクリックで画像を移動する方法の基本的なアイデアを得ることができます。実際に問題が発生しているコード スニペットを投稿できれば、私の回答が編集される可能性があります。お役に立てれば。getChildStaticTransformation()child.invalidate();

于 2012-12-21T09:53:51.697 に答える
0

解決策を見つけました。OnFling Method() を使用しました。

于 2013-01-24T07:06:13.557 に答える