2016-04-14 19 views
0

Merhaba, HorizontalFadingEdge, 'u etkinleştirmek istediğim bir ViewPager'ım var, her şey sadece Çağrı Cihazının sol tarafında çalışacak şekilde çalışıyor. Hem sol hem de sağ için istenen etkiyi elde etmenin bir yolu var mı? İşte ViewPager ile yatay fading yalnızca sağ tarafta

ilgili bazı parçacıkları şunlardır:

XML:

<android.support.v4.view.ViewPager 
android:id="@+id/view_pager_preview" 
android:layout_width="match_parent" 
android:layout_height="96dp"> 

Kurulumu: Bu konuda

pager_preview.setClipToPadding(false); 
pager_preview.setPageMargin(-50); 
pager_preview.setHorizontalFadingEdgeEnabled(true); 
pager_preview.setFadingEdgeLength(20); 

Herhangi bir fikir?

* Düzenleme: Benim burada soruya bir cevap gibi bir şey buldum

: fading edges working only on top and left

cevap

0

bu deneyin, senin kod eklerken fragmanları kaybolur

viewPager.setPageTransformer(false, new ViewPager.PageTransformer() { 
      @Override 
      public void transformPage(View view, float position) { 
       view.setTranslationX(view.getWidth() * -position); 

       if(position <= -1.0F || position >= 1.0F) { 
        view.setAlpha(0.0F); 
       } else if(position == 0.0F) { 
        view.setAlpha(1.0F); 
       } else { 
        // position is between -1.0F & 0.0F OR 0.0F & 1.0F 
        view.setAlpha(1.0F - Math.abs(position)); 
       } 
      } 
     }); 
+0

Komik ama arkasında. Yani hepsi belirlenmiş alfa ile katmanlanmış ve sadece kaydırırken önden al. Belki bu parçacığın ne yaptığını açıkla. – David

+0

sadece sayfa slayt olduğunda değer içeren bir alfa ayarlayın. –

+0

Bu kodun neden fragmanların konumunu değiştirdiği konusunda bir fikrin var mı? – David

İlgili konular