一、有图有真相
二、简单分析
1. ListView 3D实现整体布局使用自定义ListView, 只是继承自ListView父类的父类AdapterView,具体实现可参考之前写的文章:
《Android 自己动手写ListView学习其原理 1 显示第一屏Item》
《Android 自己动手写ListView学习其原理 2 上下滚动》
《Android 自己动手写ListView学习其原理 3 ItemClick,ItemLongClick,View复用》
2. 3D效果其实是伪3D,每个Item绘制两次并存垂直显示就是上面的效果。
三、具体实现步骤分析
1. 预留宽度和高度, 因为每一个Item都需要会滚动,需要宽和高都预留出来一些空间。
/**
* 向当前ListView添加子视图并负责Measure子视图操作
*
* @param child 需要添加的ListView子视图(Item)
* @param layoutMode 在顶部添加上面添加还是在底部下面添加子视图 , LAYOUT_MODE_ABOVE 或 LAYOUT_MODE_BELOW
*/
private void addAndMeasureChild(View child, int layoutMode) {
LayoutParams params = child.getLayout