Как установить максимальную высоту макета в android?

Я должен реализовать макет, подобный этому; Макет должен обернуть содержимое, если его содержимое меньше. Если содержимое выходит за рамки некоторого размера, например 300dp, оно должно быть установлено на max heght (300dp) и иметь возможность прокрутки. Есть ли какие-либо свойства для этого, если не обходные пути?

Solutions Collecting From Web of "Как установить максимальную высоту макета в android?"

Вы можете найти размер дисплея устройства. В соответствии с размером экрана вы можете установить 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); } 

Надеюсь, это поможет вам.