Definir o tamanho do ImageView em px no tempo de execução

Quero colocar 8 polegares de imagem em uma linha horizontal, usando toda a largura disponíve
As imagens são recuperadas de um serviço da web que permite especificar as dimensõe
Eu tentei o seguinte:

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);
    }

As miniaturas LinearLayout têm android: layout_width = "fill_parent set. As miniaturas produzidas por esse código são significativamente menores que 1/8 da largura. Por que isso? Qual seria a maneira correta?

Atualizar
Este código está dentro onCreateView de um fragmento. Embora meu valor de largura seja calculado com base na visualização raiz e esteja correto, thumbs.getWidth () retorna 0, embora a exibição tenha sido inflada antes e também deva ter uma largura de 480 porque o layout_width está definido como fill_parent. Não tenho certeza se isso é um problema.

Minha suposição está correta de que o layout dos ImageViews criados está definido como wrap_content por padrão? Caso contrário, como definir isso com código Java?

questionAnswers(2)

yourAnswerToTheQuestion