我有几个项目的列表视图。当用户点击单个项目时,我现在正在打开具有更多细节的新活动。我想在这里应用动画,当用户点击项目时,新活动来自右侧的幻灯片。我试过各种各样的方法,但我无法完成它。这是我的代码。
我从CustomBaseAdapter获取listview项目。
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> view, View arg1, int position, long arg3) {
CustomBaseAdapter mAdapter = (CustomBaseAdapter)list.getAdapter();
AddVO listItem = (AddVO) mAdapter.getItem(position);
Intent data = new Intent(this, NewActivityToBeOpenedUsingAnimation.class);
data.putExtra("VO", listItem);
setResult(RESULT_OK,data);
Animation animation = AnimationUtils.loadAnimation(ViewExpenseActivity.this, R.anim.fade);
list.startAnimation(animation);
startActivityForResult(data, 2);
finish();
}
});
答案 0 :(得分:3)
我得解决了。
将以下代码放在活动中:
this.overridePendingTransition(R.anim.slide_right, R.anim.slide_left);
(res / anim)文件夹中的slide_right.xml
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0"
android:duration="700" />
</set>
slide_left
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%p" android:toXDelta="0"
android:duration="700" />
</set>