簡體   English   中英

如何在 android 工作室中彈出按鈕 animation

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM