Android 单击按钮动画,然后使用其他动画转到其他活动
我需要一个代码来做按钮动画点击(如旋转或地震或…),并前往其他活动与其他动画按钮动画结束后。 你能帮我吗 我尝试了以下代码:Android 单击按钮动画,然后使用其他动画转到其他活动,android,Android,我需要一个代码来做按钮动画点击(如旋转或地震或…),并前往其他活动与其他动画按钮动画结束后。 你能帮我吗 我尝试了以下代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button b=(Button) findViewById(R.id.butt
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button b=(Button) findViewById(R.id.button1);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Animation anim=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in);
b.startAnimation(anim);
startActivity(new Intent(getApplicationContext(), Activity2.class));
overridePendingTransition(R.anim.animation, R.anim.animation2);
但两部动画都是在同一时间开始的,这是正确的
startActivity(new Intent(getApplicationContext(), ActivityTwo.class));
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
从这个链接:用这种方式尝试。动画完成时移动到下一个活动
Animation anim=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in);
anim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation arg0) {
startActivity(new Intent(getApplicationContext(), Activity2.class));
overridePendingTransition(R.anim.animation, R.anim.animation2);
}
});
b.startAnimation(anim);
创建名为shake.xml的动画文件-
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:duration="70"
android:fromDegrees="-5"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="5"
android:repeatMode="reverse"
android:interpolator="@android:anim/linear_interpolator"
android:toDegrees="5" />
<translate
android:fromXDelta="-10"
android:toXDelta="10"
android:repeatCount="5"
android:repeatMode="reverse"
android:interpolator="@android:anim/linear_interpolator"
android:duration="70" />
</set>
关闭onCreate()后,创建如下方法
public void startButtonAnimation(Button btn){
Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
btn.setAnimation(shake);
btn.startAnimation(shake);
shake.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
startActivity(new Intent(getApplicationContext(), SecondActivity.class));
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
}
});
}
要获得更多帮助,请让我知道……使用pendingTransaction进行活动动画…并在按钮上加载动画…您可以给我示例代码吗?@RohitGoswami最好在此处发布您的答案!!用户要求在移动到下一个按钮之前设置按钮的动画screen@Fahim:谢谢你给我的答案!!!!!!!!!!!至少有一半是正确的。因为你这个专家,像我这样的新手总是不敢回答。谢谢您让我们泄气。@EktaParikh您只粘贴了用户在问题中所做的事情-1是为了这个。请再核对一下这个问题。你没有在你的回答中解释他到底要做什么do@EktaParikh我相信你。。你可以从中学到很多东西it@Fahim:没有人!!他尝试了我的答案,然后编辑了他的问题。选中“编辑时间历史记录”。
public void startButtonAnimation(Button btn){
Animation shake = AnimationUtils.loadAnimation(this, R.anim.shake);
btn.setAnimation(shake);
btn.startAnimation(shake);
shake.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
startActivity(new Intent(getApplicationContext(), SecondActivity.class));
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_right);
}
});
}