尝试以编程方式设置宽度和高度时,ImageView消失

时间:2014-07-16 01:04:56

标签: android android-widget imageview layoutparams

这是我的代码

onCreate()
{
    img = (ImageView)findViewById(R.id.img);
    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int w = size.x;
    int h = w * (9/16);
    img.getLayoutParams().height = h;
    img.getLayoutParams().width = w;
    img.requestLayout();

    //The rest of the code spawns a new thread and downloads an image for the image view.
}

是的,我也试过使用FrameLayout Params(因为我的ImageView在FrameLayout中),像这样的img.setLayoutParams(new FrameLayout.LayoutParams(w,h)),没有用

我试图做的是无论下载的图像/图像大小,我想创建一个w:h = 16:9比例的ImageView。我的逻辑有什么问题?我也试过做一个img.requestLayout(),没有用,把代码移到onAttachWindow(),没用。问题出在这里?非常感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

您的代码似乎唯一的问题是这一行:

 int h = w * (9/16);

(9/16)作为整数除法执行,因此导致0。将其更改为:

 int h = (int)(w * 9f / 16f);