在ListView的单元格中旋转视图

时间:2014-02-06 11:16:29

标签: android animation adapter

我会尽力解释。

我有一个带有适配器的ListView,它定义了getView(像往常一样)的方法,用于检索单元格的外观。 ListView的最终外观如图所示。

enter image description here

如您所见,第一个箭头旋转了180度。单击它后,它已经动画旋转。如果我再次点击它,它将再次旋转到原始位置。使用动画的fillAfter参数保持180度的旋转(一旦动画完成,它就不会被确定地固定)。

问题如下:当滚动列表视图并且带有旋转箭头的单元格被取出时,再次加载单元格的视图。此时我需要再次旋转箭头。我有两种方式:

  1. 使用arrow.setRotation(180f)
  2. 使用之前使用的相同动画,持续时间设置为0
  3. 两种方式都存在问题:

    1. 旋转是固定的,然后当我调用箭头旋转到原始位置的方法时,箭头在其原始位置上是ALREADY(因为setRotation)
    2. 旋转不是立竿见影的,然后,当细胞被带出并再次进入时,它立即指向正确的一段时间后
    3. 我该如何解决这个问题? 我需要在再次将箭头旋转之前旋转箭头,但不要将其状态固定为旋转180度。

1 个答案:

答案 0 :(得分:0)

如果您在listview中放置较少的项目,我建议您使用ScrollView中的Dynamic Linearlayouts而不是ListView。由于ListView在其自己的布局中生成许多复杂性在制作自定义适配器时,例如将edittext放在listview中,并在yout listItem的UI组件上执行删除/动画等操作。