将列表视图添加到Canvas

时间:2011-03-11 18:38:18

标签: android listview canvas

您好 是否可以将自定义列表视图添加到画布并将画布旋转到某种程度,以便列表视图似乎可以旋转

1 个答案:

答案 0 :(得分:2)

你可以通过覆盖ListView子类中的draw()方法来做到这一点,但如果更改很小,实际上最简单的方法就是简单地应用这样的旋转动画:

    RotateAnimation anim = new RotateAnimation(0f, 3,0f,
        Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
    anim.setFillAfter(true);
    getListView().startAnimation(anim);

请注意,这使用2.3及以下兼容的动画框架(而不是较新的3.0+框架),这意味着视图不是真正旋转,只有看起来旋转 - 这意味着点击仍然会注册,就像列表处于原始位置一样,如果更改超过几度会明显地拖累拖动/滚动/点击互动(在这种情况下,您会想要去实际上在自定义ListView子类中重写draw(Canvas canvas)并应用必要的转换。)