У меня есть 9 кнопок в моей деятельности, я использую анимацию push right, чтобы показать свои кнопки на Create, я меняю продолжительность, чтобы установить отображение, поэтому у меня есть 9 анимация.xml с разной продолжительностью (от 1000 до 5000 для ex).Как определить отображение кнопки для отображения по одному с помощью анимации?
также я должен повторить код 3 строки для 9 раз в деятельности,
final Button b = (Button)findViewById(R.id.Button06);
Animation anim=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in);
b.startAnimation(anim);
так, мне нужно знать, есть ли более простой способ сделать что-то подобное с меньшим количеством кода? для ex, используйте 1 анимацию.xml и определите кнопку для запуска анимации Один за другим ?!
мой полный код:
import android.support.v7.app.ActionBarActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.Button;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button b = (Button)findViewById(R.id.Button06);
Animation anim=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in);
b.startAnimation(anim);
final Button b1 = (Button)findViewById(R.id.Button03);
Animation anim1=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in1);
b1.startAnimation(anim1);
final Button b2 = (Button)findViewById(R.id.button1);
Animation anim2=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in2);
b2.startAnimation(anim2);
final Button b3 = (Button)findViewById(R.id.Button08);
Animation anim3=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in3);
b3.startAnimation(anim3);
final Button b4 = (Button)findViewById(R.id.Button04);
Animation anim4=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in4);
b4.startAnimation(anim4);
final Button b5 = (Button)findViewById(R.id.Button01);
Animation anim5=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in5);
b5.startAnimation(anim5);
final Button b6 = (Button)findViewById(R.id.Button07);
Animation anim6=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in6);
b6.startAnimation(anim6);
final Button b7 = (Button)findViewById(R.id.Button05);
Animation anim7=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in7);
b7.startAnimation(anim7);
final Button b8 = (Button)findViewById(R.id.Button02);
Animation anim8=AnimationUtils.loadAnimation(MainActivity.this, R.anim.push_right_in8);
b8.startAnimation(anim8);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startButtonAnimation(b);
}
});
}
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(), Activity2.class));
overridePendingTransition(R.anim.animation, R.anim.animation2);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Пробовали ли вы мое решение? –
у вас есть скайп? –
Я уже использую другой способ сделать анимацию на прессе, а также изменить активность, поэтому я запутался, я поместил весь свой код, если вы исправите его и дадите мне полный код, это будет так здорово, спасибо –