当前位置: 代码迷 >> Android >> 仿微信的底部图片颜色渐变有关问题
  详细解决方案

仿微信的底部图片颜色渐变有关问题

热度:75   发布时间:2016-04-28 02:58:33.0
仿微信的底部图片颜色渐变问题
用ViewPager与Fragment结合做的主界面,下面的Tab也是一个Fragment。
在MainActivity中,onPageScrolled方法
@Override
public void onPageScrolled(int position, float positionOffset,
int positionOffsetPixels) {
/**
 * 根据page位置和偏移量设置指定tabItem的颜色渐变
 */
tabFragment = (WXTabFragment) fm
.findFragmentById(R.id.tabContainer);
// position=0时不能向左渐变,=3时不能向右渐变
if(position<3)
tabFragment.setAlpha(position, position + 1, positionOffset);
// ToDo 为何第一次从0向1滑动时,1没有渐变效果?
}

TagFragment中的方法setAlpha(int from, int to, float positionOffset)如下:
@SuppressLint("NewApi")
public void setAlpha(int from, int to, float positionOffset) {
// getItem方法取得指定Item的WXTabItem实例
WXTabItem fromItem = getItem(from); 
WXTabItem toItem = getItem(to);

// initAlpha为WXTabItem实例中的ImageView设置透明度
toItem.initAlpha(positionOffset);
fromItem.initAlpha(1 - positionOffset);

}
不知道是不是ViewPager加载子View的方式的原因。。。
做出来的结果是,从“微信”向“通讯录”滑动时,只有“微信”的图片发生了渐变,“通讯录”没有变化。
而当到“通讯录”界面后,再向”微信“滑动就都有了渐变效果。如下图:



大神些,求解答,最好是能简单地描述下ViewPager的突出特点。
PS: 原版微信是用的ViewPager吗?

------解决思路----------------------
用ViewPager 是可以做出微信的效果,ViewPager+Fragment这种模式也很多。
  相关解决方案