final CusInputDialog dlg = new CusInputDialog(this);
dlg.setTitle("请输入对应的语音命令");
dlg.setOnNegativeListener(newOnClickListener() {
@Overridepublic voidonClick(View arg0) {
dlg.dismiss();
}
});
dlg.setOnPositiveListener(newOnClickListener() {
@Overridepublic voidonClick(View arg0) {
String command_txt=((EditText)dlg.getEditText()).getText().toString();
Log.v("CharInputActivity", "!RegexUtils.IsVoiceCommand(command_txt)="+!RegexUtils.IsVoiceCommand(command_txt));if(!StringUtil.isNullorEmpty(command_txt)&&RegexUtils.IsVoiceCommand(command_txt))
{//VoiceCommandEntity voice = new VoiceCommandEntity();//voice.command = command_txt;//voice.preViewUri = saveProjectionImage2File();//saveProjectionImage2DB(voice);//dlg.dismiss();
tv_shadow_preview.setDrawingCacheEnabled(true);
tv_shadow_preview.buildDrawingCache();//启用DrawingCache并创建位图
Bitmap screen = Bitmap.createBitmap(tv_shadow_preview.getDrawingCache()); //创建一个DrawingCache的拷贝,因为DrawingCache得到的位图在禁用后会被回收
tv_shadow_preview.setDrawingCacheEnabled(false); //禁用DrawingCahce否则会影响性能
SaveVoiceCommandUtil sv = new SaveVoiceCommandUtil(CharInputActivity.this);int rs =sv.saveVoiceCommand(command_txt, screen);if(rs==1){Toast.makeText(CharInputActivity.this, "保存成功", Toast.LENGTH_SHORT).show();dlg.dismiss();}else if(rs==0){Toast.makeText(CharInputActivity.this, "该命令已经存在", Toast.LENGTH_SHORT).show();}else {Toast.makeText(CharInputActivity.this, "保存失败,错误码:"+rs, Toast.LENGTH_SHORT).show();}
}else{
Toast.makeText(CharInputActivity.this, "命令词只能是中英文和数字", Toast.LENGTH_SHORT).show();
}
}
});
dlg.show();
WindowManager.LayoutParams params=dlg.getWindow().getAttributes();
params.width= this.getWindowManager().getDefaultDisplay().getWidth()-DensityUtils.dp2px(this, 40);//params.height = 200 ;
dlg.getWindow().setAttributes(params);