maxHeight так же, как и maxLines вариант не адаптивный, писал об этом в вопросе
Пример: зададим maxHeight="300dp"
Откроем на трёх разных устройствах: телефон с маленьким экраном, флагман и планшет
На маленьком телефоне 300dp может оказаться слишком много и кнопки все равно не поместятся
На флагмане пусть будет все ок
А на планшете наоборот останется слишком много свободного места, что тоже не очень