任何人都已經實現了像下面的carousel
? 注意:項目列表不應重複,意味着在到達最後一個項目後不應先到達。請幫助我。像列表視圖滾動一樣的傳送視圖實現
[編輯]
我不想使用的ListView這一點。 任何人都可以幫助我解決這個問題。謝謝...
任何人都已經實現了像下面的carousel
? 注意:項目列表不應重複,意味着在到達最後一個項目後不應先到達。請幫助我。像列表視圖滾動一樣的傳送視圖實現
[編輯]
我不想使用的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
這可以使用自定義列表視圖來實現。在列表活動中使用適配器將使其成爲可能。一看here會讓你更清楚。
你可以嘗試與RecycleView鏈接是旋轉木馬:。Carousel DemoProject
看一看[此帖](HTTP://www.codeproject .com/Articles/146145/Android-3D-Carousel) – 2012-03-30 12:08:42
你做了那個項目嗎?我需要垂直的,你可以分享一些示例代碼嗎? – 2012-08-20 09:00:16
@mustafa使用下面的Renard解決方案來處理垂直的。 – Noundla 2012-08-21 04:47:30