Kalombyr
@Kalombyr

QML, как сделать анимацию для Layout.fillHeight?

Доброго дня!
Нужно анимировать сворачивание прямоугольника, вся разметка на Layout`ах.
Например:
Rectangle {
 id: contentWrapper
 Layout.fillWidth: true
 Layout.fillHeight: true

 Behavior on height {
   NumberAnimation { duration: 500; }
 }

 states: [
   State {
      name: "hidded"
      when: label.hide
      PropertyChanges {
            target: contentWrapper
            Layout.fillHeight: false
            height: 0 
         }
      }
 ]
}


Таким макаром сворачивается плавно только содержимое, занимаемое место остаётся без изменений. Обратно разворачивается рывком (логично, что из-за Layout.fillHeight), если поменять состояние в процессе анимации, то вообще не развернётся и застынет на месте.
Пробовал ставит Layout.preferedHeight: 0 и Behavior on Layout.preferedHeight, но тогда то же рывком без анимации вообще (но занимаемое место уже уменьшается).

Так вот, как мне сделать плавным сворачивание/разворачивание, когда используется Layout ?
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы