我必须实现这样的布局;如果其中的内容较少,则布局应包装内容。如果内容超出某些大小(例如300dp),则应将其设置为max heght(300dp)并且可以滚动。是否有任何可以执行此操作的属性(如果没有任何解决方法)?

最佳答案

您可以找到设备的显示尺寸。根据显示大小,您可以设置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);

    }

希望这个可以为您提供帮助。

10-08 18:03