我正在创建一个Android应用程序。我想通过放大过渡来打开新活动。我目前的活动中有一些按钮。当我点击一个按钮时,新的活动将从按钮的位置打开。我尝试使用以下代码。但是不会出现过渡。我使用以下xml和java代码。
zoom_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="800"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="70%"
android:pivotY="70%"
android:toXScale="3"
android:toYScale="3" >
</scale>
</set>
和 zoom_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="800"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="70%"
android:pivotY="70%"
android:toXScale="0.5"
android:toYScale="0.5" >
</scale>
</set>
在我的java代码中,我称之为
overridePendingTransition(R.anim.zoom_in,R.anim.zoom_out);
使用这些代码不会出现任何影响。有人可以帮我找出问题所在吗?
答案 0 :(得分:1)
尝试添加属性:android:fillAfter="true"
像这样:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<scale
xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXScale="1"
android:fromYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="3"
android:toYScale="3" >
</scale>
</set>
答案 1 :(得分:0)
将动画xml文件zoom_in.xml
和zoom_out.xml
放入res/anim
目录并像这样开始动画:
overridePendingTransition(R.anim.zoom_in,R.anim.zoom_out);