[英]how to do pop up button animation in android studio
在我正在創建的計算器應用程序中,我希望按鈕在單擊按鈕時以彈出方式(按比例放大)進行動畫處理。 但這不是問題。 只要用戶按住按鈕,我希望按鈕保持放大(更大的尺寸)。 只有當用戶釋放按鈕時,它才應該 go 恢復到原來的大小(小尺寸)。 同樣,只要用戶按住按鈕,按鈕顏色就必須從白色變為藍色(釋放時變回白色)。 有什么辦法嗎? 我在android工作室的動畫不是很擅長。 所以請嘗試用簡單的語言來解釋它。
我還附上了我為原型制作制作的視頻來說明它。 點擊下面的鏈接https://drive.google.com/file/d/13B8LAuNW1ymhmliw52BEIkMbJAJQRbfw/view?usp=sharing
您應該創建一個將選擇器作為根元素的 xml 文件。 該元素選擇當前 state 的底部形狀,如按下、聚焦或啟用。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="false"
android:drawable="@drawable/button_disabled" />
<item
android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/button_pressed" />
<item
android:state_focused="true"
android:state_enabled="true"
android:drawable="@drawable/button_focused" />
<item
android:state_enabled="true"
android:drawable="@drawable/button_enabled" />
</selector>
如果您想要具有不同顏色和大小的不同形狀,您必須像這樣創建一個新的可繪制對象:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient
android:startColor="#00CCFF"
android:centerColor="#0000CC"
android:endColor="#00CCFF"
android:angle="90"/>
<padding android:left="7dp"
android:top="7dp"
android:right="7dp"
android:bottom="7dp" />
<stroke
android:width="2dip"
android:color="#FFFFFF" />
<corners android:radius= "8dp" />
</shape>
如果要更改大小,可以使用屬性大小。 那么就必須在mainActivity的onCreate文件中實現點擊監聽器,並將按鈕的按下的state設置為true。 簡而言之,您必須為按鈕創建一個可繪制選擇器,為 state pressed="true" 創建兩個可繪制選擇器,一個為 pressed="false" 創建可繪制選擇器。
在這里我舉了一個詳盡的例子: https://stackoverflow.com/a/29848987/13198061
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.