На Android: как определить правильную анимацию, чтобы максимизировать один вид, одновременно сворачивая 2 других? - PullRequest
4 голосов
/ 09 марта 2010

Я создал действие, которое содержит 3 пользовательских компонента (определенных в xml). 2 компонента расширяют View, 1 расширяет SurfaceView. Все они лежат в LinearLayout, разделяя пространство экрана в равных долях между компонентами. Нажмите, чтобы увидеть. Я новичок, поэтому не могу публиковать изображения напрямую ...

Теперь я хотел бы максимизировать один вид при нажатии на него (используя скользящую анимацию). Два других должны выдвинуться вниз. Все должны работать одновременно, и анимация должна удерживаться, когда желаемое представление развернуто.

Я создал две анимации (res / anim): shrink_view.xml и max_view.xml

  <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android"     android:interpolator="@android:anim/accelerate_interpolator">
        <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="4000" />
        <scale 
            android:fromXScale="1" android:toXScale="1" android:fromYScale="1"
            android:toYScale="0.0" android:pivotX="0%" android:pivotY="50%"
            android:fillAfter="false"
            android:startOffset="0" android:duration="4000" android:fillBefore="true" />
    </set>



<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
    <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="4000" />
        <scale 
            android:fromXScale="1" android:toXScale="1" android:fromYScale="1"
            android:toYScale="100" android:pivotX="100%" android:pivotY="100%"
            android:startOffset="0" android:duration="4000" android:fillBefore="true" />
</set>

Но это не то, что я хочу. Я думаю, что моя попытка может быть мертвой. Так может ли кто-нибудь оказать помощь?

1 Ответ

2 голосов
/ 09 марта 2010

Я не пробовал то, что вы делаете, но вы можете найти , это поможет вам. Это учебник о том, как анимировать изменение видов при нажатии кнопки. Он использует виджет ViewFlipper для переключения между ViewGroups (например, LinearLayouts или RelativeLayouts, которые содержат TextViews, Buttons и т. Д.) С использованием некоторых встроенных анимаций. Это немного отличается от вашей ситуации, поскольку он меняет весь экран своими анимациями, но может поставить вас на правильный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...