【问题标题】:How to set height in Android grid programmaticaly according to width?如何根据宽度以编程方式在Android网格中设置高度?
【发布时间】:2014-09-13 16:19:28
【问题描述】:

我有包含 2 列的 gridview。宽度设置为填充可用空间。 我需要根据宽度将高度设置为特定大小,因为在每个屏幕中宽度尺寸都不同,我不能将 xml 中的高度设置为常数。我需要设置比例,所以高度应该是大约 1.5 * 宽度。

谢谢

【问题讨论】:

    标签: android layoutparams


    【解决方案1】:

    你可以设置高度,但你想先获得宽度。

    您告诉了 2 列网格,因此请了解手机宽度的一半

    Display display = getWindowManager().getDefaultDisplay();
    int imgWidth = display.getWidth() / 2;
    int imgHeight = (int)(imgWidth * 1.5f);
    

    你得到了它的高度。现在你可以设置你的网格视图宽度和高度

    LayoutParams lp = HERE_YOUR_VIEW.getLayoutParams();
    lp.width = imgWidth;
    lp.height = imgHeight ;
    HERE_YOUR_VIEW.setLayoutParams(lp);
    

    【讨论】:

    • 我需要更改为 DisplayMetrics 以便它可以在适配器中工作,但它可以工作。谢谢!
    • @kodw 您可以在适配器中传递宽度,因此您可以轻松设置网格视图的宽度和高度。
    • 你有什么例子吗?我试过 convertView.getWidth(),但是没有用。
    猜你喜欢
    • 2014-08-22
    • 2016-10-27
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多