gpt4 book ai didi

android - 旋转木马 View 实现,如 ListView 滚动

转载 作者:行者123 更新时间:2023-11-29 15:27:56 26 4
gpt4 key购买 nike

有人实现过类似下面的carousel吗?注意:项目列表不应重复,即到达最后一项后不应排在第一位。请帮我解决这个问题。

carousel listview

[编辑]

enter image description here

我不想为此使用 ListView。任何人都可以帮助我。谢谢...

最佳答案

这应该可以帮助您入门。像这样覆盖你的 ListView:

private final Transformation mTransformation;

public ListView3d(Context context, AttributeSet attrs) {
super(context, attrs);
if (!isInEditMode()) {
setStaticTransformationsEnabled(true);
mTransformation = new Transformation();
mTransformation.setTransformationType(Transformation.TYPE_MATRIX);
} else {
mTransformation = null;
}
}

@Override
protected boolean getChildStaticTransformation(View child, Transformation t) {
mTransformation.getMatrix().reset();
final int childTop = Math.max(0,child.getTop());
final int parentHeight = getHeight();
final float scale = (float)(parentHeight-(childTop/2))/getHeight();
Log.i("scale",scale+"");
final float px = child.getLeft() + (child.getWidth()) / 2;
final float py = child.getTop() + (child.getHeight()) / 2;
mTransformation.getMatrix().postScale(scale, scale, px, py);
t.compose(mTransformation);
return true;
}

在 getChildStaticTransformation 中,您可以通过相应地操作矩阵来实现各种效果(甚至 3d)。一个很好的教程(使用另一种技术可以找到 here

关于android - 旋转木马 View 实现,如 ListView 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9942443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com