2013-04-24 3 views
2

Я хочу анимировать два изображения с середины экрана напротив друг друга. как показано ниже.Как оживить два изображения из центра напротив друг друга?

enter image description here

все, что я сделал до сих пор прямо сейчас я могу одушевленные только одно изображение слева направо и наоборот, но теперь я хочу, чтобы оживить их с середины.

вот мой код:

b1 = (Button) findViewById(R.id.button1); 
     logo = (ImageView) findViewById(R.id.imageView1); 

     Display display = getWindowManager().getDefaultDisplay(); 
     width = display.getWidth(); 
     final Animation posX = new TranslateAnimation(0, width - 50, 0, 0); 
     posX.setDuration(1500); 
     posX.setFillAfter(true); 

     b1.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       logo.startAnimation(posX); 
       logo.setVisibility(View.VISIBLE); 
      } 
     }); 

Edit:

<RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="40dp" 
     android:background="@drawable/set_user_profile_back" 
     android:paddingLeft="10dp" 
     android:paddingRight="10dp" > 

     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:layout_marginLeft="50dp" 
      android:contentDescription="@string/hello_world" 
      android:src="@drawable/prev_btn" /> 

     <ImageView 
      android:id="@+id/ImageView01" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentTop="true" 
      android:layout_toRightOf="@+id/imageView1" 
      android:contentDescription="@string/hello_world" 
      android:src="@drawable/next_btn" /> 
    </RelativeLayout> 

Благодаря

+0

Вы должны использовать объект аниматора, он может оживить более одного пункта одновременно. –

+0

дать каждому изображению прослушиватель анимации каждый со специфическими значениями перевода –

+0

@AndroidDeveloper было бы здорово, если бы вы могли предоставить любую связанную ссылку – juned

ответ

4
ImageView img1 = findViewById(R.id.img1); 
    ImageView img2 = findViewById(R.id.img2); 

     Animation img1_Anim = AnimationUtils.loadAnimation(this, 
       R.anim.img1_animation); 
     img1_Anim.setAnimationListener(AnimationListener); 
     img1.startAnimation(img1_Anim); 

Animation img2_Anim = AnimationUtils.loadAnimation(this, 
       R.anim.img2_animation); 
     img2_Anim.setAnimationListener(AnimationListener); 
     img2.startAnimation(img2_Anim); 

    private AnimationListener AnimationListener = new AnimationListener() { 

      @Override 
      public void onAnimationStart(Animation animation) { 

      } 

      @Override 
      public void onAnimationRepeat(Animation animation) { 

      } 

      @Override 
      public void onAnimationEnd(Animation animation) { 


      } 
     }; 

img1_animation

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fillAfter="true" > 

    <translate 
     android:duration="500" 
     android:fromXDelta="50%" 
     android:toXDelta="0%" /> 



</set> 

img2_animation

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fillAfter="true" > 

    <translate 
     android:duration="500" 
     android:fromXDelta="50%" 
     android:toXDelta="100%" /> 



</set> 
+0

Спасибо за код, изображение анимируется, но из-за сверху вниз и наоборот, я хочу анимировать слева справа и наоборот – juned

+0

О, извините, вам нужно сделать перевод в x оси не y –

+0

Я отредактировал свой ответ :) –

Смежные вопросы