簡體   English   中英

Android:按鈕動畫后開始活動

[英]Android : Start Activity after button animation

我使用一個Android 制作了一個帶有漂亮動畫的提交按鈕(下面的代碼),按下該按鈕后,想要開始一個新的活動,但是只有在動畫完成之后,我該怎么做?

按鈕“ submitButton”的XML代碼:

<com.spark.submitbutton.SubmitButton
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:text="Submit"
        android:textColor="@color/gray"
        app:sub_btn_background="@color/white"
        app:sub_btn_duration="3000"
        app:sub_btn_line_color="#99FF00"
        app:sub_btn_ripple_color="#99FF00"
        app:sub_btn_tick_color="@color/white"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:id="@+id/submitButton" />

Java文件和操作偵聽器的“提交”按鈕:

 SubmitButton submitButton = (SubmitButton) findViewById(R.id.submitButton);
        submitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(MainActivity.this,ListViewActivity.class));
            }
    });

如果該自定義按鈕沒有為其動畫提供偵聽器,則無法知道其動畫何時完成。

或者,您可以使用該動畫的持續時間,並在postDelayed(runnable, duration)開始活動

new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            startActivity(new Intent(MainActivity.this,ListViewActivity.class));
        }
    }, duration);

您也可以使用onClick(View v)v替換new Handler() onClick(View v)

與其直接啟動活動,不如將呼叫包裝為可運行的,並以3000毫秒的延遲調用postDelayed。 像這樣

public void onClick(View v) {
    Runnable r = new Runnable()
    {
        public void run()
       {
            startActivity(new Intent(MainActivity.this,ListViewActivity.class));
        }
    }
    v.postDelayed(r, 3000);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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