Android之开源控件ViewFLow学习笔记【含下载地址】--(原创-20150407)

Android开源控件ViewFlow学习

这里简单介绍一点:抛出IllegalStateException:   

"ViewFlow can only be used in EXACTLY mode."

首先要明确ViewFlow的好处所在:(1).ViewFlow比较适合动态大小,如图片的个数由后台决定,发多少就显示多少,这是用ViewPager就不是很合适。

                                                    ( 2) ViewFlow的轮播滚动效果非常平滑,过渡非常友好,而且支持循环。

使用ViewFlow的时候,注意只能用在大小确定的模式中,即”ViewFlow can only be used in EXACTLY mode“。

此时,如果自己的布局是不确定大小的,可能会出错,有个不是很好的解决办法是,设置宽填充父控件,高度设置固定值。

          如果还有问题:可以在onMeasure()方法中做如下修改:(仅供参考)

将如下代码修改:

if (heightMode != MeasureSpec.EXACTLY && !isInEditMode()) {
			throw new IllegalStateException(
					"ViewFlow can only be used in EXACTLY mode.");
		}

屏蔽掉第一句:super.onMeasure(widthMeasureSpec, heightMeasureSpec);
修改if判断为如下:
heightMeasureSpec = MeasureSpec.makeMeasureSpec(CommonUtil.dip2px(mContext, 150), MeasureSpec.EXACTLY);
 super.onMeasure(widthMeasureSpec, heightMeasureSpec);

即将height的模式设置为:EXACTLY,具体大小由自己设置。makeMeasureSpec参数,第一位为大小。

其他的地方自己可以在读懂代码的基础上修改。

这里是ViewFlow  源代码下载地址:ViewFlow源码下载地址                                    


你可能感兴趣的:(android,viewflow)