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源码下载地址


更多相关文章

  1. 使用SpannableString设置部分文字大小、颜色、超链接、点击事件
  2. Android——ImageView.ScaleType设置图解
  3. Android(安卓)windowTranslucentStatus属性源码分析
  4. Android(安卓)第十三课——ListView ListActivity SimpleAdapter
  5. Android(安卓)获取 AudioRecord 麦克风音量大小并做选择性发送
  6. 如何隐藏APP名字
  7. Android(安卓)8.0 高通代码预制apk可卸载,恢复出厂设置apk可恢复
  8. Android踩坑日记:FloatingActionButton的设置大小问题
  9. ListView改变里面TextView的字体颜色

随机推荐

  1. fragment
  2. 获取Android唯一设备号
  3. Android监听组合键
  4. Android(安卓)AlertDialog example
  5. Android圆角图片封装类
  6. android study ------ HAL ---> light se
  7. Android程序示例
  8. Android:VerticalSeekBar
  9. Android—复选框和单选框使用
  10. Android(安卓)自定义ProgressBar--进度自