Вы можете сделать это с помощью angular animations, который представляет собой просто простой CSS с переходами. И вы на правильном пути с md-toolbar
. Демоверсии используют его, вам просто нужно установить CSS для округления верхних углов.
md-card md-toolbar {
border-radius: 3px 3px 0 0;
}
Теперь добавьте некоторое содержимое ниже md-toolbar
, который вы хотите переключить и использовать ng-show
на нем.
<div class="toggle-content" ng-show="open">
The toggled content!
</div>
Тогда просто проверить ngShow документацию о том, как оживить его с помощью CSS. То, что вы хотите оживить, - это высота элемента toogle-content
. Когда он скрыт, применяется height: 0
, в противном случае height: 200px
.
.toggle-content {
height: 200px;
background: red;
}
.toggle-content.ng-hide-add, .toggle-content.ng-hide-remove {
transition: height linear 0.5s;
}
.toggle-content.ng-hide {
height: 0;
}
И, конечно, вам нужно md-button
в панели инструментов, которая переключает содержание.
<md-button ng-click="open = !open">
Toggle
</md-button>
Полный пример: http://codepen.io/kuhnroyal/pen/XXZPrE
Привет @kuhnroyal, спасибо за пример. Я попытался использовать ваш пример. но когда я не добавляю height: 200px в CSS, переход не анимируется. переключение содержимого просто исчезает без какой-либо анимации. Любые идеи почему? – Ravi
@Ravi Поскольку высота - это свойство, которое анимируется, если вы его удаляете, все это, конечно, не работает. – kuhnroyal
Если высота высоты не соответствует высоте по умолчанию, если высота не указана? Я полагаю, что нет.Но есть ли способ управлять анимацией с пользовательской высотой (пользовательская высота до 0, а затем 0 до настраиваемой высоты при переключении) по сравнению с фиксированной высотой в примере выше? – Ravi