无论我尝试什么,我都无法设置从soap服务传递到我的
android模拟器的图像的宽度和高度.我正在使用
ImageView,如下所示:
byte[] bloc = Base64.decode(result,Base64.DEFAULT); Bitmap bmp = BitmapFactory.decodeByteArray(bloc,bloc.length); ImageView image = new ImageView(this); image.setImageBitmap(bmp); image.setLayoutParams( new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT)); image.getLayoutParams().height = 100; image.getLayoutParams().width = 100; setContentView(image);
在上面的代码中,我试图手动设置宽度为259像素,高度为194像素的jpeg图像的宽度和高度.
/res/layout/main.xml看起来像
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:weightSum="1" android:id="@+id/llid"> </LinearLayout>
解决方法
试试这样吧.使用yourBitmap.getWidth()和.getHeight()
image.setLayoutParams( new LinearLayout.LayoutParams( bmp.getWidth(),bmp.getHeight()));
编辑:
现在您已经为ImgView设置了LP,您要做的第一件事就是将它添加到布局中
LinearLayout ll =(LinearLayout)findViewById(R.layout.llid);
现在你可以直接添加视图,也可以像分离参数一样添加.addView(view,params)或.addView(View);你的来电.
所以你也是
ll.addView(图像);
希望它有效