您的位置:首页 > 移动开发 > Android开发

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

2015-04-07 13:11 423 查看
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源码下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: