Android : 在按钮动画后开始Activity
Android : Start Activity after button animation
我使用 android library 制作了一个带有漂亮动画的提交按钮(代码如下),按下按钮后,我想开始一个新的 activity,但是只有在动画完成后,我该怎么做?
Xml 按钮代码 "submitButton":
<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));
}
});
与其直接启动 activity,不如将调用包装在一个可运行的程序中,并以 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);
}
如果该自定义按钮不为其动画提供侦听器,则无法知道其动画何时完成。
或者,您可以使用该动画的持续时间,并在 postDelayed(runnable, duration)
中开始您的 activity
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(MainActivity.this,ListViewActivity.class));
}
}, duration);
您也可以将 new Handler()
替换为 onClick(View v)
中的 v
我使用 android library 制作了一个带有漂亮动画的提交按钮(代码如下),按下按钮后,我想开始一个新的 activity,但是只有在动画完成后,我该怎么做?
Xml 按钮代码 "submitButton":
<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));
}
});
与其直接启动 activity,不如将调用包装在一个可运行的程序中,并以 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);
}
如果该自定义按钮不为其动画提供侦听器,则无法知道其动画何时完成。
或者,您可以使用该动画的持续时间,并在 postDelayed(runnable, duration)
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
startActivity(new Intent(MainActivity.this,ListViewActivity.class));
}
}, duration);
您也可以将 new Handler()
替换为 onClick(View v)
v