gpt4 book ai didi

android - 边距动画慢吗?

转载 作者:行者123 更新时间:2023-11-29 14:52:12 25 4
gpt4 key购买 nike

我想在 ViewPager 滚动时移动 View 。我在 View 寻呼机中找到了滚动监听器,带有参数 positionOffset,我用它来调整要移动的 View 的左边距。

它可以工作,但滚动不再流畅。如果我将滚动监听器注释掉,它又会很流畅。我制作动画的 View 非常简单——只有一个纯色的小方 block 。 requestLayout() 调用仅在此 View 上完成。代码:

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) {
}
});

我不知道有什么问题,我有一个 View 的其他地方,我以类似的方式设置动画(根据 -not pager-slider 调整边距)并且它很流畅。我也见过一个应用程序,其中一些 View 的位置会根据分页器的滚动动态调整,而且非常流畅。

有什么想法吗?提前致谢!

最佳答案

任何涉及 requestLayout() 的动画都会很慢。如果您只想四处移动 View ,请使用 TranslateAnimationView.offsetLeftAndRight()View.setTranslationX()等。请勿使用 requestLayout() 或任何与布局相关的内容。

关于android - 边距动画慢吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14763480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com