私はNineOldAndroids 2.4.0 を使用して、主にコントロールの移動と変換のためにオブジェクトをアニメーション化します。Android 4.0 以降ではすべて正常に動作しますが、以前のバージョン (2.1、2.3) ではアニメーション要素がフォーカスされず、クリックできません。サンプルコード:
View v = findViewById(R.id.button1);
v.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this, "Click!", Toast.LENGTH_SHORT).show();
}
});
ObjectAnimator moveDown = ObjectAnimator.ofFloat(v, "translationY", 100f);
moveDown.setDuration(5000);
moveDown.start();
これはライブラリのバグですか、それとも私が間違っているのでしょうか? このライブラリが「ハニカム アニメーション API」のすべての機能をサポートしていない場合、私のプロジェクトでは役に立ちません。
「Animation in Honeycomb」の Android 開発者ブログの引用: システムは実際にターゲット オブジェクトのプロパティを変更しているため、オブジェクトの外観だけでなく、オブジェクト自体も変更されます。移動するボタンは、別の場所に描画されるだけでなく、実際に移動されます。アニメーション化された場所をクリックすることもできます。先に進んでクリックしてください。出来ることならどうぞ。