我想使用整个可用宽度将8个图像大拇指放在一条水平线上.
图像是从Web服务检索的,该服务可以让我指定尺寸.
我尝试了以下方法:
int widthPx = container.getWidth();
LinearLayout thumbs = (LinearLayout)curView.findViewById(R.id.thumbs);
for(int i=0; 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拇指设置了android:layout_width =“ fill_parent.此代码产生的拇指明显小于宽度的1/8,这是为什么呢?正确的方法是什么?
更新:
这段代码在一个片段的onCreateView内部.虽然我的宽度值是基于根视图计算的并且是正确的,但是thumbs.getWidth()返回0,尽管该视图之前已经过膨胀,并且由于layout_width设置为fill_parent,所以宽度也应为480.我不确定这是否有问题.
我的假设是否正确,即默认情况下将创建的ImageView的布局设置为wrap_content?如果没有,如何用Java代码设置呢?