我正在使用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**
}
});
}
答案 0 :(得分:13)
这两行将清除您活动中创建的手势
gesture.cancelClearAnimation();
gesture.clear(true);
答案 1 :(得分:0)
我之前从未使用过GestureOverlayView,但我看到它有两种可能性。通过类似这样的方法清除GestureOverlayView:http://developer.android.com/reference/android/gesture/GestureOverlayView.html#clear(boolean)
或者清除位图中已经绘制的图像,这是图片可能存储的位置。在这种情况下,您将需要获取对Bitmap的引用并在其上调用recycle()。
当然,我以前从未使用过这些类中的任何一个,所以我只想猜一下快速谷歌。