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

这两行将从您的活动中清除创建的手势

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

我以前从未使用过 GestureOverlayView,但我看到它的方式有两种可能性。通过类似这种方法清除 GestureOverlayView:http: //developer.android.com/reference/android/gesture/GestureOverlayView.html#clear (boolean )

或者从您的位图中清除已经绘制的图像,这可能是存储图片的位置。在这种情况下,您将希望获得对您的位图的引用并在其上调用 recycle()。

当然,我以前从未使用过这两个类,所以我只是在快速谷歌上猜测。

于 2012-10-05T06:55:02.610 回答