2015-09-08 53 views
1

如何在另一個圖像上實現一個圖像的滑動。動畫,在另一個圖像上滑動圖像

在圖像中,人們可以看到背景圖像是靜態的,用戶可以掃描其他圖像。它是一個housing.com應用程序的屏幕截圖。

任何人都可以幫助我。 enter image description here 注:試過viewpager,jazzyviewpager,Parallex的看法,但沒有成功

+2

幫你做什麼? – Blackbelt

+0

我需要滑動我的意見完全相同,在上面的圖像。嘗試了很多,但不知道現在該怎麼做。 – LuminiousAndroid

+1

我建議你開始簡單。具有兩個片段的ViewPager,具有兩個不同的背景圖像。 – Blackbelt

回答

0

所以經過搜索ň實現了這麼多天我得到這個確切。

步驟實現: 1.實施Viewpager。 2.用戶自定義視圖尋呼機與轉換。 3.最重要的一點,實現clipDrawable剪輯在即將推出的頁面上查看頁面。

這裏是Scale轉換類使用clipdrawable: public class ScalePageTransformer實現PageTransformer {0}私有靜態最終浮動SCALE_FACTOR = 0.95f;

private final ViewPager mViewPager; 

    public ScalePageTransformer(ViewPager viewPager) { 
     this.mViewPager = viewPager; 
    } 

    @Override 
    public void transformPage(View page, float position){ 
     View mainLayout = page.findViewById(R.id.bg_rel); 
     ClipDrawable clipDrawable = (ClipDrawable) mainLayout.getBackground(); 
     if (position <= 0){ 
      // apply zoom effect and offset translation only for pages to 
      // the left 
      //    final float transformValue = Math.abs(Math.abs(position) - 1) * (1.0f - SCALE_FACTOR) + SCALE_FACTOR; 
      int pageWidth = mViewPager.getWidth(); 
      final float translateValue = position* -pageWidth; 
      //    page.setScaleX(transformValue); 
      //    page.setScaleY(transformValue); 
      if (translateValue > -pageWidth){ 
       page.setTranslationX(translateValue); 
      } else { 
       page.setTranslationX(0); 
      } 
      clipDrawable.setLevel(10000); 
     } else { 
      //entering view 
      int level = (int) ((1 - position) * 10000); 
      clipDrawable.setLevel(level); 
      mainLayout.setTranslationX(-1 * position * page.getWidth()); 
     } 
    } 
} 

rel_bg:我的主佈局有drawables。

希望它有助於某人。

1

使用自定義Viewpager(具有堆棧效果的爵士viewpager庫並在其中禁用縮放功能)來實現此目的。

+0

不可能,只能使用viewpager轉換和剪貼畫來繪製; – LuminiousAndroid

+0

OK給我發送代碼,我會這樣做的。 –