我想在一條水平線上放置8個圖像大拇指,使用整個可用寬度。
這些圖像是從web服務中獲取的,它允許我指定尺寸。
我試過如下:在運行時設置px的ImageView的大小
int widthPx = container.getWidth();
LinearLayout thumbs = (LinearLayout)curView.findViewById(R.id.thumbs);
for(int i=0; i<pics.length; i++) {
ImageView iv = new ImageView(mContextt);
int thumbSize = widthPx/8;
try {
String url = "http://someurl/" + pics[i] + "&width=" + thumbSize + "&height=" + thumbSize;
URL imgUrl = new URL(url);
Drawable imgD = Drawable.createFromStream(imgUrl.openStream(), "src");
iv.setImageDrawable(imgD);
}
catch (Exception e) {
Log.e(TAG, "loading image failed");
e.printStackTrace();
}
thumbs.addView(iv);
}
的LinearLayout中拇指有機器人:?layout_width =「FILL_PARENT一套由此代碼生成的拇指顯著較小然後寬度的1/8爲什麼這會是什麼正確的方式
更新:
此代碼是內部onCreateView片段雖然我的寬度值是基於所述根查看計算出的和是否正確,thumbs.getWidth()返回0,雖然。之前的觀點是誇大的,應該也是如此o由於layout_width設置爲fill_parent,所以寬度爲480。我不確定這是否是一個問題。
我的假設是正確的,默認情況下創建的ImageViews的佈局設置爲wrap_content?如果不是,如何用Java代碼設置它?
什麼是容器?你用'container.getWidth();'得到的數字是多少? – Aleadam 2011-05-29 19:39:14
這裏的容器是一個FrameLayout,它充當這個代碼所來自的片段的根。 getWidth()正確返回480,因此單個拇指是60x60px。這是否與px/dip轉換有關? – 2011-05-29 19:46:40
如果使用'thumbs.addView(iv,新的LayoutParams(thumbSize,thumbSize);'它是否使它的尺寸合適? – Aleadam 2011-05-29 19:56:17