URLから画像をダウンロードするアプリケーションを作成する必要があり、スケーリング後に画像を表示する必要があります。画像はアンドロイドでは表示されません
画像のデフォルトサイズは220x200
画像の変更されたサイズは、ここでは55x50
である上記を行うための私のコード:
XMLファイルのレイアウト:
<ImageView android:id="@+id/productimage"
android:layout_gravity="center_vertical|left" android:layout_width="55dip"
android:layout_height="50dip" android:adjustViewBounds="true" />
画像をダウンロードしてサイズ変更するコードは次のとおりです。
ここは、画像をダウンロードするためのクラスです:
private Bitmap getImage(String address) {
try {
Log.i("getimage", address);
URL url = new URL(address);
URLConnection conn = url.openConnection();
conn.connect();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
Bitmap bm = BitmapFactory.decodeStream(bis);
// bis.close();
// is.close();
return bm;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
も例外では画像が正しくダウンロードされているため、ここではスローされていません。
OUTPUT:画像ビューに画像が表示されません。
私は間違っています。私が望む画像のサイズは55x50ですが、ネット上の画像のサイズは変わることがあります。
ありがとうございます。
EDIT:次のコードの後に形成さ
ビットマップ:
Bitmap bm = BitmapFactory.decodeStream(bis);
は、高さと幅を持っていないと、それは高さだと幅が-1に設定されています。ここで何がうまくいかないのでしょうか?
次の例外もスローされます。ImageViewのにscaleTypeは= "fix_xy":アンドロイドを追加
06-23 14:24:41.635: WARN/System.err(16618): java.lang.IllegalArgumentException: width and height must be > 0
がそれを試みたが、何も画像が表示されていません。 – user590849