我在图像视图上放置了一个文本视图(标题)。当我更改文本时,它在屏幕上可见但是当我保存该图像时,当我在我的图库中查看时,图像上没有任何内容。
当我使用runOnUiThread时,它仅在我更改文本颜色以及更改文本时才有效。
然而,如果我使用自定义视图并在画布上绘制文本,它会正常工作,更改会立即保存在图像上。
这是为什么?背景中究竟发生了什么?以及如何立即更新文本视图更改?
以下是我更新文字视图的代码 (我通过调用crop()函数来裁剪我的相对布局与图像视图的宽度和高度)
@Override
public void onClick(View v)
{
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(textPreview.getText().toString());
if(colorSet == 1){
textView.setTextColor(col);
}
});
crop();
dialog.dismiss();
}
我的crop()函数 - newBitmap是我的图片视图,其中放置了标题
newBitmap1 = Bitmap.createBitmap(relLay.getDrawingCache(),0,0,newBitmap.getWidth(),newBitmap.getHeight());
SharingFile = CreateTempFile(newBitmap1);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + SharingFile)) ;
setIntent(shareIntent);
答案 0 :(得分:0)
您需要调用crop()才能在UI线程上进行文本更新后发生 - 而不是并行。因此,请在文本更新后尝试在run()方法中包含对crop的调用。