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

github_25026979 2015-01-03 11:52:04
用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吗?
...全文
210 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Birds2018 2015-01-04
  • 打赏
  • 举报
回复
用ViewPager 是可以做出微信的效果,ViewPager+Fragment这种模式也很多。

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧