我使用下面的代码将两个位图组合成一个位图:
real = (RelativeLayout)findViewById(R.id.real);
apply.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent();
ByteArrayOutputStream bs = new ByteArrayOutputStream();
loadBitmapFromView(real).compress(Bitmap.CompressFormat.PNG, 100, bs);
byte[] byteArray = bs.toByteArray();
i.putExtra("bittext", byteArray);
setResult(RESULT_OK,i);
finish();
}
});
public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap( v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
v.draw(c);
return b;
}
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg">
<RelativeLayout
android:id="@+id/real"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_margin="25dp"
android:layout_above="@+id/text"
android:layout_centerInParent="true">
<ImageView
android:id="@+id/image"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<ImageView android:layout_width="fill_parent"
android:layout_height="fill_parent"enter code here
android:id="@+id/imagetext"
android:scaleType="matrix"/>
</RelativeLayout>
<Button android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/text"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_margin="10dp"/>`enter code here`
<Button
android:id="@+id/apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/text"
android:layout_margin="10dp"
android:background="@drawable/apply" />
</RelativeLayout>
单击@+id/apply
按钮时出错,它无法与位图一起转到上一个活动。这个问题只发生在一台设备上(仅限Videocon mobile)。问题是什么,我该如何解决?