نوشته شده توسط
gilas1368
سلام به تمام دوستان و اساتید محترم
من چندتا button دارم ک میخوام زمانیکه یکی از اونها کلیک شد
بقیه با انیمیشن به صورت fade و به ترتیب محو بشن
مثلا کاربر دکمه 5 رو زده، میخوام اول 4 محو بشه، 4 که محو شد بعد 3 محو بشه، 3 ک محو شد بعد 2 محو بشه تا آخر
بعد هم اکتیویتی مربوط به دکمه 5 باز بشه
میدونم چطوری buttonها رو با انیمیشن به صورت fade محو کنم اما مشکلم اینجاست که همه با هم fade میشن چطور میتونم ترتیبی که بالا گفتم رو پیاده سازی کنم؟
پیشاپیش بابت راهنمائی هاتون ممنونم
سلام
با کسب اجازه از محضر اساتید بزرگوار
به صورت زیر عمل کنید:
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
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 {
List<Button> buttons;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((Button) findViewById(R.id.button1)).setOnClickListener(lis tener);
((Button) findViewById(R.id.button2)).setOnClickListener(lis tener);
((Button) findViewById(R.id.button3)).setOnClickListener(lis tener);
((Button) findViewById(R.id.button4)).setOnClickListener(lis tener);
}
private void animate(){
final Button button = buttons.get(0);
Animation animFadeOut = AnimationUtils.loadAnimation(getApplicationContext (), android.R.anim.fade_out);
animFadeOut.setDuration(200);
animFadeOut.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
button.setVisibility(View.INVISIBLE);
buttons.remove(button);
if(buttons.size() != 0){
animate();
}else{
//عمل مورد نظر
}
}
});
button.setAnimation(animFadeOut);
}
OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
buttons = new ArrayList<Button>();
buttons.add((Button) findViewById(R.id.button1));
buttons.add((Button) findViewById(R.id.button2));
buttons.add((Button) findViewById(R.id.button3));
buttons.add((Button) findViewById(R.id.button4));
animate();
}
};
}