我必须实现这样的布局;如果其中的内容较少,则布局应包装内容。如果内容超出某些大小(例如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);
}
希望这个可以为您提供帮助。