0
水平スクロールビューでスクロールするときに中央アイテムのサイズを大きくするにはどうすればよいですか? サーバーから画像を動的に取得し、ユーザーがスクロールしたときに中央のアイテムサイズが増加しました上記を達成できません。 これを水平スクロールビューの代わりに他のビューで実装するヒント。horizantalScrollViewを使用してスクロール中の中央アイテムのサイズを変更します。
水平スクロールビューでスクロールするときに中央アイテムのサイズを大きくするにはどうすればよいですか? サーバーから画像を動的に取得し、ユーザーがスクロールしたときに中央のアイテムサイズが増加しました上記を達成できません。 これを水平スクロールビューの代わりに他のビューで実装するヒント。horizantalScrollViewを使用してスクロール中の中央アイテムのサイズを変更します。
あなたはこの
layoutManager.setMaxVisibleItems(1);
のようなあなたの画面サイズに基づいて表示されるアイテムを与えること
https://github.com/Azoft/CarouselLayoutManager
試して、このライブラリを使用することにより、これと同様の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);
}
});
希望...
はこれを参照してください。http://stackoverflow.com/a/19205940/6201929 – Athul