Я хочу поместить 8 больших пальцев изображения в одну горизонтальную линию, используя всю доступную ширину.
Изображения извлекаются из веб-службы, которая позволяет мне указать размеры.
Я попробовал следующее:
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 есть android: layout_width = "fill_parent set. Превью, создаваемое этим кодом, значительно меньше 1/8 ширины. Почему это так? Что будет правильным?
Обновление:
Этот код находится внутри onCreateView фрагмента. В то время как мое значение ширины рассчитывается на основе корневого представления и является правильным, thumbs.getWidth () возвращает 0, хотя представление является раздутым раньше и также должно иметь ширину 480, поскольку для layout_width установлено значение fill_parent. Я не уверен, что это проблема.
Верно ли мое предположение, что компоновка созданных ImageViews по умолчанию установлена на wrap_content? Если нет, как установить это с помощью кода Java?