回答

0

我發佈這個答案後幾個月,因爲我看到很多人仍然面臨着這個問題。

我找到了解決此問題的方法。將css硬件加速添加到特定類型的角度材質指令,您可能會遇到動畫不佳的問題。

以下是對Moto E,Moto G,One plus 1和One plus 2 Android手機進行側邊動畫效果差的測試,並且工作流暢。

添加以下代碼到您的自定義CSS文件和角material.css

enter image description here

md-sidenav.md-closed-add, md-sidenav.md-closed-remove { 
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
    transition: 0.2s ease-in all !important; } 

md-sidenav.md-closed-add.md-closed-add-active, md-sidenav.md-closed-remove.md-closed-remove-active { 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
    transition: all 0.2s cubic-bezier(0.25, 0.8, 0.25, 1) !important; 
} 

.md-sidenav-left, md-sidenav { 
    left: 0; 
    top: 0; 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
} 

.md-sidenav-left.md-closed, md-sidenav.md-closed { 
    -moz-transform: translateX(-100%)!important; 
    -ms-transform: translateX(-100%)!important; 
    -o-transform: translateX(-100%)!important; 
    -webkit-transform: translateX(-100%)!important; 
    transform: translateX(-100%)!important; 

    -moz-transform: translateZ(0) translateX(-100%)!important; 
    -ms-transform: translateZ(0) translateX(-100%)!important; 
    -o-transform: translateZ(0) translateX(-100%)!important; 
    -webkit-transform: translateZ(0) translateX(-100%)!important; 
    transform: translateZ(0) translateX(-100%)!important; 

    -moz-transform: translate3d(-100%, 0, 0)!important; 
    -ms-transform: translate3d(-100%, 0, 0)!important; 
    -o-transform: translate3d(-100%, 0, 0)!important; 
    -webkit-transform: translate3d(-100%, 0, 0)!important; 
    transform: translate3d(-100%, 0, 0)!important; 
} 

md-sidenav.md-locked-open-add, md-sidenav.md-locked-open-remove { 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
} 

md-sidenav.md-locked-open, md-sidenav.md-locked-open.md-closed, md-sidenav.md-locked-open.md-closed.md-sidenav-left, md-sidenav.md-locked-open.md-closed, md-sidenav.md-locked-open.md-closed.md-sidenav-right, md-sidenav.md-locked-open-remove.md-closed { 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
} 
md-sidenav.md-closed.md-locked-open-add { 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
} 
md-sidenav.md-closed.md-locked-open-add-active { 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
} 

.md-sidenav-backdrop.md-locked-open { 
    display: none; 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
} 

.md-sidenav-left, md-sidenav { 
    -moz-transform: translateX(0) !important; 
    -ms-transform: translateX(0) !important; 
    -o-transform: translateX(0) !important; 
    -webkit-transform: translateX(0) !important; 
    transform: translateX(0) !important; 

    -moz-transform: translateZ(0) translateX(0) !important; 
    -ms-transform: translateZ(0) translateX(0) !important; 
    -o-transform: translateZ(0) translateX(0) !important; 
    -webkit-transform: translateZ(0) translateX(0) !important; 
    transform: translateZ(0) translateX(0) !important; 

    -moz-transform: translate3d(0, 0, 0) !important; 
    -ms-transform: translate3d(0, 0, 0) !important; 
    -o-transform: translate3d(0, 0, 0) !important; 
    -webkit-transform: translate3d(0, 0, 0) !important; 
    transform: translate3d(0, 0, 0) !important; 
} 

.md-sidenav-left.md-closed, md-sidenav.md-closed { 
    -moz-transform: translateX(-100%)!important; 
    -ms-transform: translateX(-100%)!important; 
    -o-transform: translateX(-100%)!important; 
    -webkit-transform: translateX(-100%)!important; 
    transform: translateX(-100%)!important; 

    -moz-transform: translateZ(0) translateX(-100%)!important; 
    -ms-transform: translateZ(0) translateX(-100%)!important; 
    -o-transform: translateZ(0) translateX(-100%)!important; 
    -webkit-transform: translateZ(0) translateX(-100%)!important; 
    transform: translateZ(0) translateX(-100%)!important; 

    -moz-transform: translate3d(-100%, 0, 0)!important; 
    -ms-transform: translate3d(-100%, 0, 0)!important; 
    -o-transform: translate3d(-100%, 0, 0)!important; 
    -webkit-transform: translate3d(-100%, 0, 0)!important; 
    transform: translate3d(-100%, 0, 0)!important; 
}