![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iY0gTN0IDMzUWOyQTZ0ITO1MzY0MTZ0gTMhdTY4IWN28CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
這次我是用的是一個狀态動畫,大緻原理就是寫出一個空間的幾個狀态,完了再加一個過度動畫,這裡隻有簡單的屬性動畫,和持續周期
是我的錯誤用法
開的是時候,我把狀态解除安裝了DLNavigation的子產品裡面,雖然可以實作,但是裡面DLButton控件是沒有動的,是以我把這個狀态動畫移動了上一層中,等于是操作我的整個導覽列的空間,這裡還是有問題的,不過後期再将解除安裝這裡的問題。
先吧代碼截圖位置寫上來
這裡第一部分是控制按鈕
第二部分是動畫實作部分
DLButton
{
width: 100
height: 100
x:parent.width-width
y:0
onClicked:
{
if(navigation.state === "state1")
{
navigation.state = "state2"
console.log("切換至狀态2")
}
else
navigation.state = "state1"
console.log("切換至狀态1")
console.log(navigation.width+" "+navigation.height)
}
}
利用一個按鈕的點選事件來控制導覽列的顯示和隐藏,也就是導覽列的兩種狀态的切換
states:
[
State {
name: "state1"
PropertyChanges {
target: navigation
y:parent.height
}
},
name: "state2"
y:parent.height-navigation.height
]
transitions:
Transition {
from: "*"
to: "*"
PropertyAnimation {
properties: "y"; duration: 1000 }
上面的代碼就是狀态以及切換動畫,兩個狀态之間記得要加都好哦。
喜歡的也可以去我的GitHub上面下載下傳源代碼,同時也指正下我存在的問題,大家共同進步