android图片分辨率调整,android-在运行时以像素为单位设置ImageView的...

我想使用整个可用宽度将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代码设置呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值