如何在Android中设置布局的最大高度?

14

我需要实现这样的布局:如果它内部的内容很少,布局应该适应内容。如果内容超过某个大小,例如300dp,它应该设置为最大高度(300dp),并且可以滚动。是否有任何属性可以做到这一点?如果没有,是否有任何解决方案?


你找到任何解决方案了吗? - rizzz86
1
我已经找到了一种解决方案,可以为ScrollView提供maxHeight。该解决方案也适用于任何类型的视图。请在 http://chintanrathod.com/maxheightscrollview-in-android-using-android-studio/ 阅读更多信息。 - Chintan Rathod
1个回答

7
您可以找到设备的显示尺寸。根据显示尺寸,您可以设置layout params。例如,如果显示尺寸小于300dp,则可以将height设置为wrap content。如果大于300dp,则将height设置为300dp
以下是示例代码:
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);


    DisplayMetrics metrics = new DisplayMetrics();
    wm.getDefaultDisplay().getMetrics(metrics);


    //here you can get height of the device.
   Log.d("check", metrics.heightPixels+"");
    if(metrics.heightPixels< 300)
    {
         this.getWindow().setLayout(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

    }
    else {
         this.getWindow().setLayout(LayoutParams.WRAP_CONTENT,300);

    }

希望这篇文章能够帮到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接