ОПИСАНИЕ ПРОБЛЕМЫ:
Я протестировал следующие два метода, чтобы создать снимок растрового изображения из представления (например, RelativeLayout в этом случае). Оба метода отлично подходят для представлений, размеры которых (например, ширина и высота) меньше размеров экрана устройства (например, 480x900). Видимая часть представления фиксируется и записывается в растровое изображение. К сожалению, растровое изображение является черным в невидимой части представления.
ВОПРОС:
Как я могу захватить также невидимую часть обзора?
КОД:
public class NewRelativeLayout extends RelativeLayout{
private Bitmap bmp;
public NewRelativeLayout(Context context){
super(context);
this.setLayoutParams(new RelativeLayout.LayoutParams(2000,2000));
// add here methods to configure the RelativeLayout or to add children
}
//This is the first method
public void makeSnapshot_Method1(){
this.setDrawingCacheEnabled(true);
bmp = Bitmap.createBitmap(this.getDrawingCache());
this.setDrawingCacheEnabled(false);
}
//This is the second method
public void makeSnapshot_Method2(){
bmp = Bitmap.createBitmap(2000, 2000, Bitmap.Config.ARGB_8888);
Canvas helpCanvas = new Canvas(bmp);
this.draw(helpCanvas);
}
}