1
我使用scaleX()
爲ImageView
設置了動畫。這應該是一個從左到右填充的進度條。它在API 10,18和19上沒有問題。但在API 16上,setPivotX()
方法似乎存在問題。我已嘗試NineOldAndroids: set view pivot中的每個選項。setPivotX在Android 4.1.1上無法正常工作NineOldAndroids
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
中心動畫。任何人都可以確認此問題?
UPDATE
我曾嘗試使用機器人標準動畫包,以及:
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不工作庫,但標準的動畫功能也是如此。