listview
にTranslateAnimation
を追加すると、たとえば、リストビューを上に移動して最後にそのパフォーマンスを維持すると、リストビューはアニメーション化されます。ただし、問題はlistviewタッチイベントを正しく処理できません。ListViewはTranslateAnimationをうまく処理できません
item1をタッチすると、item2が選択され、item2's onClick()
メソッドが起動されます。ビューが移動したが、タッチイベントがビューの最後の位置に関連しているようなものです。
私は次のように私のコードを示した:
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,dd));
Animation animation=new TranslateAnimation(0,0,0,-height*3);
animation.setDuration(500);
animation.setInterpolator(new AccelerateDecelerateInterpolator());
animation.setFillAfter(true);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, position+"", 0).show();
}
});
を私はリストビューをアニメーション化するView.animate().translateY()
を使用すると、アイテムがcorrectly.Theだけshorcomingタッチイベントを処理することができますが、この方法は、API 11でサポートされていることです私はAPI 8を使っています。
誰かがもっと賢明な解決策を持っている場合は、私を助けてください。ありがとう。