layoutAnimation只运行一次

Ker*_*mia 7 animation android expandablelistview android-linearlayout

我有一个LinearLayoutlayoutAnimation属性,该属性用于定制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" >
Run Code Online (Sandbox Code Playgroud)

单击列表时,将显示动画.但它只能运行一次,并且不会在下一次单击时为列表设置动画.为什么?

请告诉我,如果您需要更多说明.

谢谢

Ron*_*nie 9

布局动画在将视图添加到布局时运行.因此,您必须在每次展开/折叠时手动添加/删除视图才能使布局动画生效.

为此,您可以使用列表索引作为键来维护视图映射.每次点击时,只需从地图中选择相应的项目并添加到您的布局中.动画将在该视图上运行,您的问题已得到修复.

您还可以尝试更改视图的可见性onClick().但不确定这一点.试试让我知道.

希望有所帮助.


Par*_*han 9

首先你想申报

Animation  listanimation = AnimationUtils.loadAnimation(mainActivity.this, R.anim.list_layout_controller);
Run Code Online (Sandbox Code Playgroud)

每次都是clearAnimation第一次.在LinearLayout的clickevent中

 linearLayout.clearAnimation();
 linearLayout.startAnimation(listanimation);
Run Code Online (Sandbox Code Playgroud)