layoutAnimation работает только один раз
у меня есть LinearLayout
С layoutAnimation
свойство, которое используется для настройки ExpandableListView
. вот так:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layoutAnimation="@drawable/list_layout_controller"
android:orientation="vertical" >
когда я нажимаю на список, анимация будет отображаться. Но он работает только один раз, и он не будет анимировать список в следующем щелчке мыши. Почему?
пожалуйста, дайте мне знать, Если вам нужно больше описания.
спасибо
5 ответов
анимация макета запускается при добавлении представлений в макет. Таким образом, вам придется вручную добавлять/удалять представления на каждом развертывании/сворачивании для работы анимации макета.
для этого вы можете сохранить карту представлений с индексом списка в качестве ключа. Каждый раз, когда вы получаете щелчок, просто выберите соответствующие элементы с карты и добавьте в свой макет. Анимация будет работать на этом представлении, и ваша проблема исправлена.
вы также можете попробовать, изменив видимость просмотров в onClick()
. Но не уверен насчет этого.
Дай мне знать.
надеюсь, что это поможет.
сначала вы хотите объявить
Animation listanimation = AnimationUtils.loadAnimation(mainActivity.this, R.anim.list_layout_controller);
и каждый раз clearAnimation
первый.
В clickevent LinearLayout
linearLayout.clearAnimation();
linearLayout.startAnimation(listanimation);
попробуйте перезапустить анимацию по каждому пункту нажмите:
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
view.getAnimation().start();
//your custom logic
}
});
просто использовать
public void startLayoutAnimation ()
http://developer.android.com/reference/android/view/ViewGroup.html#startLayoutAnimation()