ListView单元格展开(向下滑动)动画

时间:2012-11-22 07:37:31

标签: android android-layout

  

可能重复:
  How can I make a cell in a ListView in Android expand and contract vertically when it’s touched?

我希望看到一个很好的示例,可以在Twitter应用程序中扩展和推送下面的列表项。我想要的是用户点击列表视图项中的按钮,然后item_view正常展开以显示EditText和按钮。

由于

1 个答案:

答案 0 :(得分:0)

你需要做这样的事情......

public class ExpandAnimation extends Animation {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
    super.applyTransformation(interpolatedTime, t);

    // End animation sometimes calls with exactly 1.0f
    if (interpolatedTime <= 1.0f) {

        // Calculating the new bottom margin, and setting it
        mViewLayoutParams.bottomMargin = mMarginStart
                + (int) ((mMarginEnd - mMarginStart) * interpolatedTime);

        // Invalidating the layout, making us seeing the changes we made
        mAnimatedView.requestLayout();
    }
}

上面的代码会更改每个动画帧中视图的边距。这使得它看起来像您的新视图正在向下推动其余项目。您也可以尝试更改子项的高度而不是其边距..