[英]Android:how to move marquee text from right to left and left and right by clicking one button
[英]How to animate images one by one from left to right android
我想從左到右一幅動畫處理9張圖像。 我嘗試編碼,所有圖像同時移動。 我需要將每個圖像一一移動。
公共類MainActivity擴展了Activity {
ArrayList<ImageView> imageHolder;
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
animateBottles();
}
private void animateBottles() {
ImageView upperRowBottleOneImageView = (ImageView) findViewById(R.id.upperRowBottleOneImageView);
ImageView upperRowBottleTwoImageView = (ImageView) findViewById(R.id.upperRowBottleTwoImageView);
ImageView upperRowBottleThreeImageView = (ImageView) findViewById(R.id.upperRowBottleThreeImageView);
ImageView upperRowBottleFourImageView = (ImageView) findViewById(R.id.upperRowBottleFourImageView);
ImageView upperRowBottleFiveImageView = (ImageView) findViewById(R.id.upperRowBottleFiveImageView);
ImageView upperRowBottleSixImageView = (ImageView) findViewById(R.id.upperRowBottleSixImageView);
ImageView upperRowBottleSevenImageView = (ImageView) findViewById(R.id.upperRowBottleSevenImageView);
ImageView upperRowBottleEightImageView = (ImageView) findViewById(R.id.upperRowBottleEightImageView);
ImageView upperRowBottleNineImageView = (ImageView) findViewById(R.id.upperRowBottleNineImageView);
imageHolder = new ArrayList<ImageView>();
imageHolder.add(upperRowBottleOneImageView);
imageHolder.add(upperRowBottleTwoImageView);
imageHolder.add(upperRowBottleThreeImageView);
imageHolder.add(upperRowBottleFourImageView);
imageHolder.add(upperRowBottleFiveImageView);
imageHolder.add(upperRowBottleSixImageView);
imageHolder.add(upperRowBottleSevenImageView);
imageHolder.add(upperRowBottleEightImageView);
imageHolder.add(upperRowBottleNineImageView);
for (int i = 0; i < imageHolder.size(); i++) {
ImageView imageView = imageHolder.get(i);
ObjectAnimator mover = ObjectAnimator.ofFloat(imageView,
"translationX", -150f, 50f);
mover.setDuration(4000);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(mover);
animatorSet.start();
mover.addListener(new AnimatorListener() {
@Override
public void onAnimationCancel(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animator arg0) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationStart(Animator arg0) {
// TODO Auto-generated method stub
}
});}
//try {
//Thread.sleep(1000);
//} catch (InterruptedException e) {
// // TODO Auto-generated catch block
//e.printStackTrace();
//}
//}
}
@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;
}
}
為了使圖像一個動畫,您必須為每個圖像設置一個“開始偏移延遲”,例如:
for (int i = 0; i < imageHolder.size(); i++) {
ImageView imageView = imageHolder.get(i);
TranslateAnimation animation = new TranslateAnimation(fromX, ToX, FromY, ToY);
animation.setDuration(400);
animation.setStartOffset(100*i);
imageView.startAnimation(animation);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.