2012-04-03 6 views
0

私は、ウェブ(Succeess!)から画像を取得し、それがorigionalyであるかどうかに関係なく、スクロールビューを使用して表示します。私はscrollviewにaddViewとき、私は私が私が探している結果を得るようTEH活動自体、上setContentViewを呼び出した場合のときとは対照的に、しかし、画像は(、リサイズされます。AddViewを実行するとImageViewのサイズが変更されます

ScrolView sv = new ScrollView(this); 
addContentView(sv); 
ImageView iv = new ImageView(this); 
putDrawableFromUrlIntoIv(iv, url); //this fills iv with a drawable 
sv.addView(iv); 

あまりコードテストケースでは480x800ですが、サイズが違っていて、画面に縮小表示されていますか?

EDIT:addContentView(これは表示されていますが、 sv)はsv.addView(d)の前に来ます;これは問題なのですか?これは実際にはdrawableを実際に渡すのが遅いからです。

私もfolloテストのように翼:

{ 
    ScrollView sv = new ScrollView(this); 
    ImageView iv = new ImageView(this); 
    Drawable d = a_480x800_drawable; 
    iv.setImageDrawable(d); 
    sv.addView(iv, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    setContentView(sv); 
} 

結果は、左上隅には、画面の左上隅に適合しているのですが小さすぎる画像は、あります。

答えて

0

たぶんImageViewのにレイアウトパラメータを追加してみてください、

sr.addView(d, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
+0

はこれをしようとしました。立ち入り禁止。 –

0
{ 
ScrollView sv = new ScrollView(this); 

ImageView iv = new ImageView(this); 

Drawable d = a_480x800_drawable; 

iv.setImageDrawable(d); 

sv.addView(iv, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

setContentView(sv); 

} 

//instead of this use 
{ 
    ScrollView sv = new ScrollView(this); 
    ImageView iv = new ImageView(this); 
    Drawable d = a_480x800_drawable; 

    iv.setImageDrawable(d); 

    LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

    lp.topMargin = 50; //or whatever u like 

    lp.leftMargin = 50; 

    sv.addView(iv, lp); 
    setContentView(sv); 

}

+0

あなたが行った変更とその理由を説明してください。 – Evan

関連する問題