0

単純な変換が必要です。左からイメージを移動する必要があります(アクティビティ&フラグメント1が画面に表示されます) フラグメント(フラグメント)をスクロールしているとき左に向かって起こっている、フラグメント2が右から来ているとイメージも左から右ViewPager Androidのフラグメント間のスムーズな翻訳

に変換する必要があり

activity_intro.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/relativeLayout" 

tools:context="com.example.rahulkumarlohra.retrofitsample.Retro.Activity.IntroActivity"> 

<android.support.v4.view.ViewPager 
    android:id="@+id/viewPager" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
</android.support.v4.view.ViewPager> 

<ImageView 
    android:id="@+id/imageView1" 
    android:src="@mipmap/plus_icon_blue_xxhdpi" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginBottom="143dp" /> 


<ImageView 
    android:id="@+id/imageView2" 
    android:src="@mipmap/plus_icon_blue_xxhdpi" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignTop="@+id/viewPager" 
    android:layout_alignEnd="@+id/viewPager" 
    android:layout_marginTop="81dp" /> 

上記のコードはactivity_intro.xmlです

私はViewPagerの外にあるimageViewを持っています。この画像を翻訳したいのですが、ViewPager.Rightの断片を横切って表示します。viewPager.addOnPageChangeListenerを使用してこの画像を翻訳できます。以下は

viewPager.addOnPageChangeListener

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 
      Log.d(TAG,"position:"+position); 
      Log.d(TAG,"positionOffset:"+positionOffset); 
      Log.d(TAG,"positionOffsetPixels:"+positionOffsetPixels); 

      DecimalFormat df = new DecimalFormat("#.##"); 

      float movement = (Float.parseFloat(df.format(positionOffset))); 

      int rlWidth = relativeLayout.getWidth(); 
      IntroActivity.c = movement; 

      imageView1.animate().translationX(positionOffsetPixels).start(); 
      if(movement!=IntroActivity.c) 
      { 

       if(movement>IntroActivity.c) 
       { 
        if(movement-IntroActivity.c>0.03) 
        { 

         imageView1.animate().translationX(rlWidth*movement).withLayer().start(); 
         IntroActivity.c = movement; 

        } 
       }else { 

        if(IntroActivity.c-movement>0.03) 
        { 

         imageView1.animate().translationX(rlWidth*movement).withLayer().start(); 
         IntroActivity.c = movement; 

        } 
       } 
      } 

     } 

     @Override 
     public void onPageSelected(int position) { 
      Log.d(TAG,"onPage Selected position:"+position); 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 

答えて

0

Animation to show ImageView from left to right

OR

のコードです

画像にスタイルを使用する

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="600" 
    android:fromXDelta="100%" 
    android:toXDelta="0%"/> 

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXDelta="0%" android:toXDelta="100%" 
    android:fromYDelta="0%" android:toYDelta="0%" 
    android:duration="600"/> 
関連する問題