从Android中的GestureOverlayView清除手势

时间:2012-10-05 06:30:42

标签: android

我正在使用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**

            }
        });
    }

2 个答案:

答案 0 :(得分:13)

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

gesture.cancelClearAnimation();
gesture.clear(true);

答案 1 :(得分:0)

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

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

当然,我以前从未使用过这些类中的任何一个,所以我只想猜一下快速谷歌。