4

GestureOverlayViewを使用して、正常に実装した画像を描画していますが、別の画像を描画する場合は、アクティビティでGestureOverlayViewから前の画像をクリアする必要があります。どうすればよいですか?

私のコードを調べてください:

public class MainActivity extends Activity {

    private Button button_save;
    private Button button_clear;
    private GestureOverlayView gesture;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        gesture = (GestureOverlayView) findViewById(R.id.gestures);
        button_save = (Button) findViewById(R.id.save_button);
        button_clear = (Button) findViewById(R.id.clearbtn);
        button_save.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                try {
                    Bitmap gestureImg = gesture.getGesture().toBitmap(100, 100,
                            8, Color.BLACK);

                    ByteArrayOutputStream bos = new ByteArrayOutputStream();
                    gestureImg.compress(Bitmap.CompressFormat.PNG, 100, bos);
                    byte[] bArray = bos.toByteArray();

                    Intent intent = new Intent(MainActivity.this,
                            Activity2.class);

                    intent.putExtra("draw", bArray);
                    startActivity(intent);

                } catch (Exception e) {
                    e.printStackTrace();
                    Toast.makeText(MainActivity.this, "No draw on the string",
                            3000).show();
                }
            }
        });

        button_clear.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                **//What to do here to clear my drawn animation**

            }
        });
    }
4

2 に答える 2

13

これらの2行は、作成されたジェスチャーをアクティビティからクリアします

gesture.cancelClearAnimation();
gesture.clear(true);
于 2012-10-10T11:38:48.340 に答える
0

これまでGestureOverlayViewを使用したことはありませんが、2つの可能性があります。次のような方法でGestureOverlayViewをクリアします:http ://developer.android.com/reference/android/gesture/GestureOverlayView.html#clear(boolean )

または、画像が保存されている可能性のあるビットマップから、すでに描画されている画像をクリアします。その場合、ビットマップへの参照を取得し、その上でrecycle()を呼び出す必要があります。

もちろん、私はこれまでこれらのクラスのいずれかを使用したことがないので、簡単なグーグルから推測しています。

于 2012-10-05T06:55:02.610 に答える