Android 3D 立体无限旋转滚动容器

StereoView

项目地址: ImmortalZ/StereoView
简介:Android 3D 立体无限旋转滚动容器。This is a stereo view(3D) for Android.
--The idea is from weibo.com

This is the original animation effects .

This is what we achieve animation effects.

we can infinite loop rolling

Of course,on the basis of the original,I add the other animation effects. As you see. 

it extends ViewGroup,of course we can contain any view like imageview

How to use it ?


just like use ViewGroup.You can learn from it by demo.

Additional Options


to set the first show item

setStartScreen(int startScreen) : @param startScreen (0,getChildCount-1)

to set the move resistance

setResistance(float resistance) : @param resistance (0,...)

to set the interpolator

setInterpolator(Interpolator mInterpolator) :

to set the degree of tow item which are rolling

setAngle(float mAngle): [0f,180f]

to set whether to use 3D animation effects.

setCan3D(boolean can3D)

turn to specified position.

setItem(int itemId) : @param itemId [0,getChildCount-1]

turn to previous item

toPre()

turn to next item

toNext()

define interface

Android 3D 立体无限旋转滚动容器_第1张图片

Defects


1.to show best,you must ensure the StereoView must have threee child at least.

2.to show best,you must ensure the method's ( setStartScreen(int startScreen) ) parameter are correct.


Android 3D 立体无限旋转滚动容器

相应的博文 http://blog.csdn.net/Mr_immortalZ/article/details/51918560

原效果

我们实现的效果:

(为了更加可定制化,我在原图基础上新增了新的效果)

可以快速滚动,并且无限循环

这个是对一些参数的进行设定

对图片的包裹效果

因为本身继承自 ViewGroup,所以基本控件都是可以包裹的

自定义的方法

setStartScreen(int startScreen) :设置第一页展示的页面 @param startScreen (0,getChildCount-1)

setResistance(float resistance) : 设置滑动阻力 @param resistance (0,...)

setInterpolator(Interpolator mInterpolator) : 设置滚动时 interpolator 插补器

setAngle(float mAngle):设置滚动时两个 item 的夹角度数 [0f,180f]

setCan3D(boolean can3D) : 是否开启 3D 效果

setItem(int itemId) : 跳转到指定的 item @param itemId [0,getChildCount-1]

toPre() : 上一页

toNext() : 下一页

定义的回调接口

这里写图片描述

缺陷说明

目前容器的 item 数量需要大于等于 3,小于 3 个滑动时会些问题。设置的最开始展示的 item 位置不能是第一个或者最后一个,这么做是为了保证第 1 个或者最后一个被隐藏,从而保证最开始向上滑动或者向下滑动时的正常。

你可能感兴趣的:(Android,自定义控件进阶,3d,idea,as,图片)