2016-08-18 2 views
0

Я видел, что этот оператор, используемый внутри макета xml, автоматизирует анимацию для вас. Я хочу, чтобы добавить это мое приложение, но когда я положил его в макете Я хочу«android: animateLayoutChanges =« true »« Still work

<LinearLayout 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/arrow_background" 
       android:layout_marginTop="7dp" 
       android:layout_marginBottom="7dp" 
       android:padding="10dp" 
       android:animateLayoutChanges="true" 
       android:visibility="visible" 
       android:id="@+id/format_help"> 

А потом я изменить видимость пошел

view.findViewById(R.id.format_help).setVisibility(View.GONE); 

Это только мгновенно уходит. Информация, которую я видел об этом, была из нескольких лет назад, так кто-нибудь знает, если это все еще должно работать или как заставить ее работать?

EDIT: Также я добавил это утверждение повсюду, и он все еще не работает. Если это имеет значение, это внутри фрагмента/диалога

ответ

1

Он работает для представлений внутри контейнера, который имеет свойство android: animateLayoutChanges = "true". Если линейная компоновка, имеющая указанное свойство, всякий раз, когда новый вид добавляется или удаляется из этого контейнера, эффект видим. Эффект анимации не будет отображаться непосредственно в контейнере при добавлении или удалении контейнера. Для получения дополнительной информации проверьте приведенную ниже ссылку. usage of animateLayoutChanges