Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

Вы можете найти размер дисплея устройства. в соответствии с размером экрана вы можете установить layout params. например, если размер дисплея меньше 300dp, вы можете установить height как wrap content. если более чем 300dp означает set 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);

    }

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