我将布局保存到位图,其中包含ImageView和EditText。
我正在使用此代码:
public void saveToImage(RelativeLayout content){
Bitmap bitmap = Bitmap.createBitmap(content.getWidth(), content.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
content.layout(0, 0, content.getLayoutParams().width, content.getLayoutParams().height);
content.draw(c);
try{
File file,f = null;
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
{
file =new File(android.os.Environment.getExternalStorageDirectory(),"TTImages_cache");
if(!file.exists())
{
file.mkdirs();
}
f = new File(file.getAbsolutePath()+file.separator+ "filename"+".png");
}
FileOutputStream ostream = new FileOutputStream(f);
bitmap.compress(CompressFormat.PNG, 10, ostream);
ostream.close();
}
catch (Exception e){
e.printStackTrace();
}
}
但是我保存的图像如下所示:
我想在保存位图时删除edittext中带下划线的文本和文本光标。这可能吗?
答案 0 :(得分:0)
要在保存位图之前删除闪烁的光标,可以执行
editText.setCursorVisible(false);
然后再将其重新设置为true
。
答案 1 :(得分:0)
开始捕获布局时,您只需删除underline
和cursor
。您可以通过以下方式删除下划线:
yourEditText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
和光标:
yourEditText.setCursorVisible(false);
如果您通过以下方式禁用saveToImage
方法中的光标会更好:
public void saveToImage(RelativeLayout content){
yourEditText.setCursorVisible(false);
....
....
//your code for saving the layout
}
然后将布局保存在内存中后,只需重置yourEditText
即可显示光标。
public void saveToImage(RelativeLayout content){
//your code for saving the layout
....
....
yourEditText.setCursorVisible(true);
}