我对自定义动画有疑问。下面的代码适用于 API 25 android 模拟器,但在物理设备 API 23 上不显示动画。
Activity
Intent intent = new Intent(getApplicationContext(),NewClass.class);
intent.putExtra("data", data);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
Bundle options = ActivityOptions.makeCustomAnimation(getBaseContext(), R.anim.slide_in_from_right,R.anim.slide_out_to_left).toBundle();
startActivityForResult(intent,101,options);
}
slide_in_from_right
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="100%" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700" />
</set>
slide_out_to_left
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="0%" android:toXDelta="-100%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="700"/>
</set>
最佳答案
试试这个
在res\anim\slide_out_to_left.xml中创建一个文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXDelta="0"
android:toXDelta="-100%p"
/>
</set>
在res\anim\slide_in_from_right中创建一个文件
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="500"
android:fromXDelta="0"
android:toXDelta="100%p" />
</set>
this work in all version
关于android - 使用 makeCustomAnimation 的自定义动画在某些设备上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43603826/