#polymer #material-design
#полимер #материал-дизайн
Вопрос:
Я начал сегодня с Polymer, и я очень взволнован тем, что я создаю с его помощью! Но я столкнулся с проблемой, которую не знаю, как решить, если вы добавляете <paper-input floatingLabel>
внутри <paper-dialog>
, диалоговое окно бумаги теряет классную анимацию. Есть какой-либо известный обходной путь для получения анимации, или это известная проблема, когда анимированный компонент находится внутри другого анимированного компонента?
Поскольку я получил отказ от голосования, я решил предоставить код, который поможет вам, люди, помочь мне:
<!DOCTYPE html>
<html>
<head>
<!-- 1. Load platform.js for polyfill support. -->
<script src="bower_components/platform/platform.js"></script>
<!-- 2. Use an HTML Import to bring in the element. -->
<link rel="import" href="bower_components/core-icons/core-icons.html">
<link rel="import" href="bower_components/core-overlay/core-overlay.html">
<link rel="import" href="bower_components/core-toolbar/core-toolbar.html">
<link rel="import" href="bower_components/core-transition/core-transition.html">
<link rel="import" href="bower_components/paper-dialog/paper-dialog.html">
<link rel="import" href="bower_components/paper-dialog/paper-dialog-transition.html">
<link rel="import" href="bower_components/paper-icon-button/paper-icon-button.html">
<link rel="import" href="bower_components/paper-input/paper-input.html">
<link rel="import" href="bower_components/paper-toast/paper-toast.html">
<link rel="stylesheet" href="stylesheets/style.css"/>
<style shim-shadowdom>
/* Coloquei Junto com os inputs */
body {
font-family: RobotoDraft, 'Helvetica Neue', Helvetica, Arial;
margin: 0;
padding: 24px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-touch-callout: none;
}
</style>
</head>
<body unresolved touch-action="auto">
<core-toolbar style="background-color: #f5f5f5">
<span flex>
<img src="images/logo_Positivo.png"/>
</span>
<paper-button label="Login" class="colored" onclick="toggleDialog('paper-dialog-transition')"></paper-button>
</core-toolbar>
<paper-dialog heading="Login" transition="paper-dialog-transition" style="background-color: #efefef">
<div>
<img src="/images/academia.png" class="gym_logo"/>
<img src="/images/default_user.png" class="usr_logo"/>
</div>
<!--<paper-input floatingLabel label="Chave"></paper-input><br/>-->
<paper-input floatingLabel label="Usuário"></paper-input><br/>
<paper-input floatingLabel label="Senha"></paper-input><br/>
<paper-button label="Entrar" class="colored" affirmative default onclick="document.querySelector('#toast3').show();disparaLogado();"></paper-button>
</paper-dialog>
<paper-dialog heading="Login" transition="paper-dialog-transition" id="logado">
Logado!!!
</paper-dialog>
<paper-toast id="toast3" class="capsule" text="Acessando o sistema e validando dados..." style="padding-right: 60px;" duration="5000"></paper-toast>
<script>
function toggleDialog(transition) {
var dialog = document.querySelector('paper-dialog[transition=' transition ']');
dialog.toggle();
}
function disparaLogado() {
selecionarModulos = window.setTimeout(function () {
var logado = document.querySelector('paper-dialog#logado');
logado.toggle();
}, 5000);
}
</script>
</body>
</html>
Я добавил следующую строку в конце paper-dialog-transition.html:
<paper-dialog-transition id="paper-dialog-transition" transitionType="fade"></paper-dialog-transition>
Спасибо за любую помощь или комментарий!
Ответ №1:
Судя по вашему коду, я не уверен, пробовали ли вы это или нет, но мне это помогло:
<paper-dialog transition="core-transition-bottom">
Теперь у меня есть анимация обратно. Возможные значения transition
атрибута можно найти на демонстрационной странице core-transition.
Надеюсь, это помогло
Комментарии:
1. Я попробую это позже, если это сработает, я проверю ваш ответ… Спасибо за ответ!
Ответ №2:
У меня были проблемы с анимацией, и все они были решены путем фиксации абсолютных позиций элементов по мере необходимости для переходов.