Подтвердить что ты не робот

Масштабировать и уменьшать анимацию в android

У меня есть код для обычного увеличения и уменьшения анимации между двумя действиями, но мне нужно что-то другое. У меня есть пять кнопок в моем первом действии, если я нажму на первую кнопку, тогда увеличение будет начинаться с позиции первой кнопки, вместо того, чтобы масштабировать ее из центра. Пожалуйста, помогите мне.

EDIT: Zoom должен начинаться с кнопки, которую я нажал в качестве центра.

4b9b3361

Ответ 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>