package cn.flightfeather.thirdappmodule.activity;
|
|
import android.app.Activity;
|
import android.content.Intent;
|
import android.graphics.Bitmap;
|
import android.graphics.Bitmap.CompressFormat;
|
import android.graphics.Color;
|
import android.os.Bundle;
|
import android.os.Handler;
|
import android.os.Message;
|
import android.view.KeyEvent;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.Window;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.Toast;
|
|
import java.io.ByteArrayOutputStream;
|
|
import cn.flightfeather.thirdappmodule.R;
|
import cn.flightfeather.thirdappmodule.module.MainActivity;
|
import cn.flightfeather.thirdappmodule.listener.OnScrollListener;
|
import cn.flightfeather.thirdappmodule.util.Constant;
|
import cn.flightfeather.thirdappmodule.view.TuyaView;
|
|
|
/**
|
*
|
*
|
* @author 林力
|
*/
|
public class SignActivity extends Activity implements OnClickListener, OnScrollListener {
|
|
public static final int OPERATION_UNDO = 1;
|
private final int defaultColor = Color.parseColor("#FFFFFF");
|
private ImageView imageview_background;
|
private TuyaView tuyaView;
|
FrameLayout tuyaFrameLayout = null;
|
private static final String TAG = SignActivity.class.getSimpleName();
|
private int CANCLE_BACKGROUND_IMAGE = 0;
|
|
private Handler handler = new Handler() {
|
@Override
|
public void handleMessage(Message msg) {
|
switch (msg.what) {
|
case OPERATION_UNDO:
|
int undo = tuyaView.undo(); //撤销上次操作
|
System.out.println("可以撤销:" + undo);
|
if (undo < 0) {
|
CANCLE_BACKGROUND_IMAGE++;
|
switch (CANCLE_BACKGROUND_IMAGE) {
|
case 0:
|
break;
|
case 1:
|
System.out.println("设置imageview为默认");
|
imageview_background.setBackgroundColor(defaultColor);
|
imageview_background.setImageBitmap(null);
|
CANCLE_BACKGROUND_IMAGE = 0;
|
break;
|
}
|
}
|
// tuyaFrameLayout.destroyDrawingCache();
|
// tuyaFrameLayout.buildDrawingCache();
|
break;
|
}
|
}
|
};
|
private Intent intent;
|
private Bitmap bitmap;
|
|
@Override
|
public void onCreate(Bundle savedInstanceState) {
|
requestWindowFeature(Window.FEATURE_NO_TITLE);
|
super.onCreate(savedInstanceState);
|
intent = getIntent();
|
setContentView(R.layout.tuya_layout);
|
tuyaFrameLayout = (FrameLayout) findViewById(R.id.tuya_layout);
|
boolean drawingCacheEnabled = tuyaFrameLayout.isDrawingCacheEnabled();
|
if (!drawingCacheEnabled) {
|
tuyaFrameLayout.setDrawingCacheEnabled(true);
|
}
|
imageview_background = (ImageView) findViewById(R.id.imageview_background);
|
tuyaView = (TuyaView) findViewById(R.id.tuyaView);
|
findViewById(R.id.btn_undo).setOnClickListener(this);
|
findViewById(R.id.btn_save).setOnClickListener(this);
|
}
|
|
@Override
|
public void onBackPressed() {
|
|
}
|
|
@Override
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
if (keyCode == KeyEvent.KEYCODE_BACK) {// 返回键
|
this.finish();
|
int undo = tuyaView.undo(); //撤销上次操作
|
if(undo<1){
|
System.out.println("设置imageview为默认");
|
imageview_background.setBackgroundColor(0xff99CCCC);
|
imageview_background.setImageBitmap(null);
|
}
|
return true;
|
}
|
return super.onKeyDown(keyCode, event);
|
}
|
|
@Override
|
public void onClick(View v) {
|
int id = v.getId();
|
if (id == R.id.btn_undo) {
|
Message msg = handler.obtainMessage();
|
msg.what = OPERATION_UNDO;
|
handler.sendMessage(msg);
|
} else if (id == R.id.btn_save) {
|
sendTuyaBitmap();
|
}
|
}
|
|
/**
|
* 发送图片
|
*/
|
private void sendTuyaBitmap() {
|
//获得当前的Bitmap对象
|
tuyaFrameLayout.buildDrawingCache();
|
bitmap = tuyaFrameLayout.getDrawingCache();
|
if (bitmap != null) {
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
try {
|
bitmap.compress(CompressFormat.JPEG, 100, baos);
|
byte[] bitmapByteArr = baos.toByteArray();
|
//跳转到对应界面
|
Intent intent = new Intent(this,MainActivity.class);
|
intent.putExtra(Constant.KEY_INTENT_SIGHPIC, bitmapByteArr);
|
setResult(RESULT_OK, intent);
|
baos.close();
|
this.finish();
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
} else {
|
Toast.makeText(this, "未能发送图片,请重试!", Toast.LENGTH_SHORT).show();
|
}
|
tuyaFrameLayout.destroyDrawingCache();
|
}
|
|
@Override
|
public void onLeft() {
|
|
}
|
|
@Override
|
public void onRight() {
|
|
}
|
|
@Override
|
public void onScroll() {
|
|
}
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
// TuyaView.color = Color.parseColor("#fe0000");
|
// TuyaView.srokeWidth = 15;
|
}
|
}
|