Я создал простое приложение, просто хочу, когда я нажимаю кнопку, изображение будет перемещаться в другую позицию.Почему местоположение представления всегда сбрасывается после использования ObjectAnimator в View.TRANSLATION_X?
Ниже приведен код, но кажется, что при нажатии кнопки изображение всегда начинается с исходной позиции, а не с реальной позиции. Есть ли проблемы с моим кодом?
public class MainActivity extends Activity{
private ImageView iv;
private Button bt;
private AnimatorSet mAniSet;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ddd);
iv = (ImageView) this.findViewById(R.id.imageView1);
bt = (Button) this.findViewById(R.id.button1);
mAniSet = new AnimatorSet();
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int pointOnScreen[] = new int[2];
iv.getLocationOnScreen(pointOnScreen);
ObjectAnimator AniTranslationX = ObjectAnimator.ofFloat(iv, View.TRANSLATION_X, pointOnScreen[0]+100);
mAniSet.playTogether(AniTranslationX);
mAniSet.setTarget(iv);
mAniSet.setDuration(200).start();
}
});
}
}
Я пробовал ваш код (под ICS, JB и kitkat), и каждый раз, когда я нажимаю кнопку, представление будет переводить в правильной форме в предыдущее положение. Какой телефон или эмулятор вы используете? – xiaomi
просто используйте 'ofFloat (iv, View.TRANSLATION_X, iv.getTranslationX() + 100)' – pskink
@pskink, я просто попробую ваш код снова, кажется, не работает, спасибо все равно – user2159851