作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 scaleX()
为 ImageView
制作动画。这应该是一个从左到右填充的进度条。它在 API 10、18 和 19 上没有问题。但是在 API 16 上,setPivotX()
方法似乎有问题。我已经尝试了 NineOldAndroids: set view pivot 中的每个选项.
final ImageView progressBarFill = (ImageView) getView().findViewById(R.id.progressbarImageFill);
//...
ViewHelper.setPivotX(progressBarFill, 0);
AnimatorProxy.wrap(progressBarFill).setPivotX(0);
animate(progressBarFill).setDuration(1000).scaleX(0.25f);
和
AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(progressBarFill, "scaleX", 0f, 0.25f)
);
AnimatorProxy.wrap(progressBarFill).setPivotX(0.0f);
ViewHelper.setPivotX(progressBarFill, 0f);
set.setDuration(1000).start();
动画有效,但它从 ImageView
的中心开始动画。任何人都可以确认这个问题吗?
更新
我也尝试过使用 androids 标准动画包:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
progressBarFill.setVisibility(View.VISIBLE);
progressBarFill.setPivotX(0);
progressBarFill.setPivotY(0);
AnimatorSet set = new AnimatorSet();
set.playTogether(
ObjectAnimator.ofFloat(progressBarFill, "scaleX", 0f, 0.25f)
);
set.setDuration(2000).start();
}
但在 android API 16 上仍然不起作用。所以问题不仅与 NineOldAndroids 库有关,还与标准动画功能有关。
最佳答案
事实证明,将轴心 X 设置为 0 在 API 16 中效果不佳。因此,将轴心轴设置到 View 的最左侧 progressBar Fill.setPivot(1);
好多了。
关于android - setPivotX 不适用于 android 4.1.1 NineOldAndroids,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26658124/
我是一名优秀的程序员,十分优秀!