我想提前感谢你。我是新制作Android应用程序(实际上这是我的第一个Android应用程序)。在应用程序中,我让用户选择他/她的一张照片并将其设置为背景。我收集图像并使用putExtra方法将其发送到适当的Activity。
这是我处理图片的方式:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0){
Uri selectedImage = data.getData();
InputStream is;
try {
is = getContentResolver().openInputStream(selectedImage);
BufferedInputStream bis = new BufferedInputStream(is);
Bitmap imagen = BitmapFactory.decodeStream(bis);
final float densityMultiplier = getResources().getDisplayMetrics().density;
int h= (int) (100*densityMultiplier);
int w= (int) (h * imagen.getWidth()/((double) imagen.getHeight()));
imagen=Bitmap.createScaledBitmap(imagen, w, h, true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
imagen.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
imagenCodificada = Base64.encodeToString(b, Base64.DEFAULT);
}
catch (FileNotFoundException e) {}
}
}
这就是我发送它的方式:
i.putExtra("Preferencia5", imagenCodificada)
在活动中,我将图像解码为位图,但我不知道如何将其作为背景放入我的FrameLayout。
在活动中:
byte[] b = Base64.decode(imagen, Base64.DEFAULT);
Bitmap imDecodificada = BitmapFactory.decodeByteArray(b, 0, b.length);
这是我的布局的开始.xml:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/framelayout">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
非常感谢。
答案 0 :(得分:0)
使用带有BitmapDrawable参数的layout.setBackgroundDrawable