Масштабировать и уменьшать анимацию в android
У меня есть код для обычного увеличения и уменьшения анимации между двумя действиями, но мне нужно что-то другое. У меня есть пять кнопок в моем первом действии, если я нажму на первую кнопку, тогда увеличение будет начинаться с позиции первой кнопки, вместо того, чтобы масштабировать ее из центра. Пожалуйста, помогите мне.
EDIT: Zoom должен начинаться с кнопки, которую я нажал в качестве центра.
Ответы
Ответ 1
Вы можете использовать этот метод после запуска команды, чтобы начать новую активность,
startActivity(intent);
overridePendingTransition(animation_in_goes_here,animation_out_goes_here);
Затем вы можете заменить свои анимации выше, заменив animation_in_goes_here
ресурсом анимации, который вам нужен для недавно начатой вами деятельности, и заменив animation_out_goes_here
ресурсом анимации для действия, которое вы покидаете. Это даст вам эффекты переключения.
zoom_in.xml
<?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>
zoom_out.xml
<?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.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.5"
android:toYScale="0.5" >
</scale>
</set>
Надеюсь, это помогло ответить на ваш вопрос.
Ответ 2
Думаю, вам нужно
- Установите анимацию "in" и "out"
- Создать папку res/anim
-
Поместите описания анимации в папку res/anim
object.setInAnimation(AnimationUtils.loadAnimation(это, R.anim.zoom_enter));
object.setOutAnimation(AnimationUtils.loadAnimation(это, R.anim.zoom_exit));
Вы можете использовать анимацию образцов sdk для Android, предоставленную Google под лицензией Apache 2.0
Или ссылайтесь на это, которое использует масштабирование с масштабированием, которое проще, чем предыдущее
http://developer.android.com/training/animation/zoom.html
Ответ 3
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXScale="0"
android:fromYScale="0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.5"
android:toYScale="0.5">
</scale>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXScale="2.1"
android:fromYScale="2.1"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="3000"
android:toXScale="0"
android:toYScale="0">
</scale>