2017-03-08 76 views
0

如何在水平滚动视图中滚动时增加中央项目的大小? 动态获取图像从服务器到用户滚动时,中央项目大小增加Unable to design and implement this .无法达到上述效果。 任何提示与其他视图而不是水平滚动视图实现此提示。使用horizantal滚动查看中央项目的大小ScrollView

+0

参见本:http://stackoverflow.com/a/19205940/6201929 – Athul

回答

0

您可以通过使用这个库

https://github.com/Azoft/CarouselLayoutManager

尝试根据您的屏幕尺寸这样

layoutManager.setMaxVisibleItems(1); 

给可见项目acheive与此类似 - ,你可以改变以下监听器根据您的需要,默认情况下它们提供一个监听器作为com.azoft.carousellayoutmanager.CenterScrollListener。

layoutManager.setPostLayoutListener(new CarouselLayoutManager.PostLayoutListener() { 

     @Override 
     public ItemTransformation transformChild(@NonNull View child, float itemPositionToCenterDiff, int orientation) { 
      final float scale = (float) (1.5f * (1.5f * -StrictMath.atan(Math.abs(itemPositionToCenterDiff) + 1.0)/Math.PI + 1)); 
      final float translateY; 
      final float translateX; 
      if (CarouselLayoutManager.VERTICAL == orientation) { 
       final float translateYGeneral = child.getMeasuredHeight() * (1 - scale)/1f; 
       translateY = Math.signum(itemPositionToCenterDiff) * translateYGeneral; 
       translateX = 0; 
      } else { 
       final float translateXGeneral = child.getMeasuredWidth() * (0.8f - scale)/1.5f; 
       translateX = Math.signum(itemPositionToCenterDiff) * translateXGeneral; 
       translateY = 0; 
      } 

      return new ItemTransformation(scale, scale, translateX, translateY); 
     } 
    }); 

希望这将帮助你......