Ixx*_*Ixx 1 animation android view
我希望在ViewPager滚动时移动视图.我在视图寻呼机中找到了滚动侦听器,其参数为positionOffset,我用它来调整我想要移动的视图的左边距.
它有效,但滚动不再平滑.如果我对滚动侦听器进行注释,它会再次平滑.我正在动画的视图非常简单 - 只有一个普通颜色的小方块.requestLayout()调用仅在此视图上完成.代码:
pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (positionOffset != 0 || (positionOffset == 0 && position == 0)) {
pars.leftMargin = (int)(scrollablePart * positionOffset);
tabBG.requestLayout();
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
Run Code Online (Sandbox Code Playgroud)
我不知道是什么问题,我有一个其他地方的视图,我以类似的方式动画(调整边距,根据一个-not pager滑块),它是平滑的.我也看过一个应用程序,根据页面滚动的滚动动态调整一些视图的位置,它非常流畅.
任何的想法?提前致谢!
任何涉及的动画requestLayout()都会很慢.如果你要做的只是移动一个视图,使用一个TranslateAnimation或View.offsetLeftAndRight()或View.setTranslationX()等等.不要使用requestLayout()或任何布局相关.
| 归档时间: |
|
| 查看次数: |
1025 次 |
| 最近记录: |