我正在尝试从 ViewPagerParallax 中保存背景,可以在此处找到:link
当我移动时,背景会发生变化,我想把背景的这个“部分”传递给另一个活动。
要将它从一个活动传递到另一个活动,我可以:
Intent intent = new Intent(context, Activity2.class);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
//Bitmap bmp = pager.getSavedBitmap().getBitmap();
Bitmap bmp = pager.getBitmap();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
intent.putExtra("image",byteArray);
context.startActivity(intent);
byte[] byteArray = getIntent().getByteArrayExtra("image");
Bitmap bmp = BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
@SuppressWarnings("deprecation")
Drawable d = new BitmapDrawable(bmp);
layout.setBackground(d);
但是知道我想要的背景部分是困难的,我试图从 onDraw 方法中获取它,如下所示:
canvas.drawBitmap(saved_bitmap, src, dst, null);
if(canvas != null){
my_bitmap = new BitmapDrawable();
my_bitmap.draw(canvas);
}
但是当我使用 getBitmap 时:
public Bitmap getBitmap(){
return my_bitmap.getBitmap();
}
图像没有像在第一个活动中那样缩放。