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