如何在水平滚动视图中滚动时增加中心项目的大小?从服务器动态获取图像,当用户滚动时,中心项目大小增加

无法实现上述目标。使用其他视图而不是水平滚动视图来实现此功能的任何提示。
发布于 2017-03-08 19:33:57
你可以通过使用这个库来获得类似的结果
https://github.com/Azoft/CarouselLayoutManager
试着根据你的屏幕尺寸给出可见的项目,如下所示
layoutManager.setMaxVisibleItems(1);您可以根据需要更改以下监听程序,默认情况下,它们提供的监听程序为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);
}
});希望这能对你有所帮助。
https://stackoverflow.com/questions/42669938
复制相似问题